nosql数据库中之redis数据库一揽子方案

来源:互联网 发布:淘宝首页图片大小 编辑:程序博客网 时间:2024/06/08 02:06
netstat  -tunpl | grep redis-server  显示端口在使用
netstat–tunpl | grep 6379
解决:ps–aux | grep redis-server
pkill redis-server
Kill -9 9999
kill -9 1762
/usr/local/redis/bin/redis-server  /usr/local/redis/redis.conf
/usr/local/redis/bin/redis-cli
数据类型

nosql数据库中之redis数据库
一、NoSQL ,Not Only SQL),泛指非关系型数据库。
1.NoSql的特点?
  a).Key-value b).不支持sql语句 c.)没有表结构
2常见关系型数据库与非关系型数据库?
     关系型:mysql、Oracle、SQLServerr等;
     非关系型:redis, mongodb等;
3.redis支持哪些数据类型?
     hash(哈希);string(字符串);list(链表);set(集合); Zset(有序集合)
二、redis安装
- 1.Reids安装需要哪几步?
  从安装到使用4步;
  a.)解压软件 tar –zxfv
  b.)make编译;注意:编译!=安装;
  c.)安装 make PREFIX= 目录 install;
  d.)复制config,启动服务;注意:server后面跟那个conf 就由哪个conf启动
- 2.如何将Redis安装为服务?
   config   17行 daemonize 改为yes;  查看行号 :set un;
- 3.如何重启Redis?
   查看 netstat –tunpl | grep redis
  pkill redis-server
  查看  pr –ef |grep redis;
    4.redis 端口  6379
三、Redis安全性设置
1.如何设置密码?
Redis.conf  [108] requirepass foobared  可能用到命令:set nu  ;
2.如何登录?
2.1:方法1 ./redis-cli –a password
2.2:方法2 登录后 auth password
四、Redis-String,hash,list,set,Zset5种数据类型和其他命令--详见redis-1表
1、string键值对
set name xiaoyun
get name
setnx
setex color 10 red,10秒后过期
mset键名键名22……………
msetnx键名键名22……………
getset name xiaop设置新值返回旧值
strlen name 返回长度
getrange name 0 3
mget name age
incr age 自增操作,每执行一次自动加1
incrby age 100 追加100
decrincr一样,自减操作。decr age
decrby指定减去的值。decrby age 100
append 追加字符串
2、哈希类型
1.Hash数据类型?
    像我们上学时候的课本?eg:语文 ===key 课文标题===field  课文内容 === value   
hset key  field   value例:hset ha1 name xiaopen
hget key  field例:hget ha1 name
hsetnx如果field存在则设置不成功,返回0
hmset key(哈希的名称)   field1  value1  field1 value2例:hmset ha2 name xiaozhao age 30
hmget ha2 name age
hincrby    key  field  number(加的数值)例:hincrby ha2 age 100
hexists key  field     例hexists ha2 age
hdel  key  field
hkeys  key
hvals key
hgetall返回哈希里面所有的fieldvalue

3lists类型及操作
栈,先进后出;队列,先进先出
lpush  key value     例lpush list1 one 类似
lrange key  0   -1
rpush     rpush list zero从尾部向链表里面添加数据(字符串类型)
lset list 1 dagang
linsert key  before tow  xiaogangtwo元素的前面添加一个元素(xiaogang
lset list 1 xiaobai
lindex list 1
ltrim list 1 2
lpop从头部删除链表中的元素,返回删除的元素 pop list
rpop从尾部删除链表中的元素,返回删除的元素
lindex key位置     返回指定位置的元素
llen返回链表中元素的个数

4set(集合)类型-唯一、无序
sadd set1 one two nihao xiaogang
smember set1获取
srem set1 one删除指定元素
spop set1随机删除集合里面某个元素,返回该元素
sdiff set1 set2     差集
sdiffstore set3 set1 set2
sinter set1 set2     交集
sinterstore set4 set1 set2
sunion set1 set2     并集
sunionstore set5 set1 set2 
smove set2 set1 xiaoli 移动
scard set5返回集合中元素的个数
sismember set1 xiaolongbao检测某个元素是否在集合中
srandmember set5随机返回集合里面的某个元素,但是并不是删除。
5sorted sets类型及操作
zadd zset1 12 xiaobai 5 xaioliu 1 xiaohei
zrange zset1 0 -1
zrange zset1 0 -1 withscores
zrem zset1 xiaoliu
zrank zset1 xiaolong在集合中,返回指定元素的下标。(按照元素的序号升序)
zrevrank zset1 xiaohei在集合中,返回指定元素的下标。(按照元素的序号降序)
zrevrange zset1 0 -1 withscores查看集合里面的内容,按照元素的序号,降序显示的
zrangebyscore zset1 6 12 withscores返回集合中,根据序号的范围返回元素。
zcount zset1 6 12
zcard zset1
zremrangebyrank  zset1 8 10删除集合中,指定下标范围内容的元素
zremrangebyscore  zset1 8 10删除集合中,指定序号范围内的元素
Zinterstore---有序集合交集Zinterstore sum_point 2 mid_test fin_test
Zunionstore---有序集合并集Zunionstore salary 2 programmer manager WEIGHTS 1 3
五、redis的其他命令
keys *
keys n*
exists email
del name
select 1---共16个库
move name 1将当前数据库中的key转移到其他数据库中
expire name 10给一个键设置有效期,单位是秒
persist namekey的有效期设置为永久有效,和expire命令对应
randomkey随机返回一个键
type ha1返回键的数据类型。
dbsize返回当前数据库键的个数
info查看redis服务器的一些信息
flushdb删除当前选择数据库中的所有key
flushall删除所有16个库的key
//---------------------------------------------------------------------------------------------------------
Redis-String,hash,list,set,Zset5种数据类型和其他命令
命令 含义语法返回值Redis-string命令练习,可用于数据缓存 set 设置键值,键名存在则覆盖set key vauleset name xiaoyunsetex   设置延时键值  setex key time value;setex color 10 red,10秒后过期setnx  若键值存在设置失败setnx key value ;   mset    一次设计多个键值mset key1 value1 key2 value3 msetnx  设置多个键值存在则失败 msetnx key1 value1 key2 value2 getset 设置新值返回旧值getset key newValuegetset name xiaopget获取键值  get key get namegetrange获取键值的内容 getrange key begin endgetrange name 0 3mget 一次性获取多个值 mget key1 key2mget name ageincr 键名自增1  incr keyincr ageincrby     键名自增指定值 incrby key numincrby age 100 追加100decr 键名自减 1  decr key decrby 键名自减指定值decrby key numdecrby age 100append 追加字符串 append key value; strlen  获取值长度strlen  keystrlen nameRedis-hash命令练习,可用于临时储存用户数据 hset   设置哈希键值hset  key  valuehset ha1 name xiaopenhsetnx 检测哈希field若存在则0失败 hsetnx key field valuehmset ha2 name xiaozhao age 30hget   获取hash内容hget key fieldhmget ha2 name agehmset  一次设置多个hash的field value hmset key field1  vaule1 field2 vaule2hmget 一次性获得多个field值 hmget key field1 field2 hincrby field的值加指定的数值hiccrby key field numhincrby ha2 age 100hexists  判断一个field是否存在hexisit key field;hexists ha2 age存在返回1hdel删除一个fieldhdel firld; hkeys 返回hsah里面所有fieldhkeys keyhkeys ha2hvals返回所有的valuehvals keyhvals ha2hgetall返回所有的 field和value     hgetall key 
Redis-list命令练习,可用于时光机,消息队列
lrem删除符合条件的元素(count0所有符合的,n,-n从右往左n个符合的)lrem  key  count value

lrem user 2 id5从左往右删除2个是id5的值
lpush从头部向链表里面添加数据    lpush  key valuelpush list1 onelrange取出链表里面的全部内容      lrange key  0   -1lrange key 0 -1rpush从尾部向链表里面添加数据    rpush  key vaulerpush list zerolinsert在链表里指定的位置添加元素  linsert key  before 谁的前面   添加内容linsert key before tow xiaoganglset修改链表里面的元素内容     lset  key  元素的位置(从0开始)  新的值lset list 1 dagangltrim保留链表中指定范围的元素   ltrim key  开始位置  结束位置ltrim list 1 2lpop删除并返回链表的头部元素lpop  key rpop删除并返回链表的尾部元素rpop  key lindex返回指定位置的元素           lindex key 位置lindex list 1llen返回链表中元素的个数lsize         llen  key Redis-set命令练习,可用于共同好友  sadd向集合里面添加元素 sadd key value1 value2sadd set1 one two nihao xiaogangsmembers获取集合里面的元素    smembers keysmember set1srem删除集合里面指定元素 srem key  指定的元素srem set1 onespop随机删除和返回集合某个元素spop keyspop set1dsiff差集sdiff key1 key2sdiff set1 set2sdiffstore求差集并保存到新的集合sdiffstore  newKey  key1   key2sdiffstore set3 set1 set2sinter交集sinter  key1 key2sinter set1 set2sinterstore求交集并保存到新的集合sinterstore 新集合 key1 key2sinterstore set4 set1 set2sunion并集sunion key1 key2sunion set1 set2sunionstore求并集并保存到新的集合sunionstore newKey key1 key2sunionstore set5 set1 set2 smove移动到key2smove  key1  key2  移动的元素smove set2 set1 xiaoliscard返回集合中元素的个数scard  keyscard set5sismember检测某个元素是否在集合中sismember key 元素sismember set1 xiaolongbaosrandmember随机返回集合某元素,不删除srandmember keysrandmember set5Redis-Zset命令练习,可用于排名 Zadd向有序集合里面添加元素 zadd key(有序集合名称)  score1  元素1  score2  元素2……zadd zset1 12 xiaobai 5 xaioliu 1 xiaoheizrange 按序号升序显示集合元素zrange  key  开始下标  结束下标  [withscores]zrange zset1 0 -1 withscores显示序号zrevrange  按序号降序显示集合元素zrevarange key 0  -1  withscorezrevrange zset1 0 -1 withscoreszrem 删除集合中指定的元素                    zrem key 指定的元素zrem zset1 xiaoliuZrank 按序号升序返回指定元素的下标            zrank key  fieldzrank zset1 xiaolongzrevrank 按序号降序返回指定元素的下标  zrevrank key field zrevrank zset1 xiaoheizrangebyscore 根据序号的范围返回元素       zrangebyscore  key  开始序号  结束序号zrangebyscore zset1 6 12 withscoresZcount返回指定序号范围内元素的个数 zcount key  开始序号 结束序号zcount zset1 6 12zcard 返回集合中元素的个数zcard keyzcard zset1zremrangebyrank删除指定下标范围内容的元素       zremrangebyrank  key  开始下标  结束下标zremrangebyrank  zset1 8 10Zremrangebyscore       删除指定序号范围内的元素。zremrangebyscore key    开始序号 结束序号zremrangebyscore  zset1 8 10Redis的其他命令 keys查看当前数据库下面的键keys *或keys n*keys *或keys n*exists查看某个键是否在当前数据库exists keyexists emaildel删除当前库指定键del key1 key2 key3del nameselect共16个库select  数据库编号select 1---共16个库move将当前库的key转移到其他库move key  数据库编号move name 1expire给一个键设置有效期,单位是秒expire key 秒数expire name 10persist把key有效期设置为永久persist key persist namerandomkey随机返回一个键randomkeyrandomkeytype返回键的数据类型typetype ha1dbsize返回当前库键的个数dbsize info查看redis服务器信息info flushdb删除当前库中的所有keyflushdb flushall删除所有数据库中的keyflushall 



原创粉丝点击