您的位置:首页 > 数据库 > Redis

Redis 的简单操作命令和事务简单使用

2017-01-10 14:06 639 查看
使用

启动redis   切换到bin目录下./redis-cli 直接启动

让redis后台运行 需要修改配置文件 redis.conf 中的 daemonize  为yes 再次启动就行

redis 命令  
获取所有key
   keys *

通配符
* 所有   ?一个  
[]通配中括号内的某个字符
返回随机key名   randomkey
判断可以值是什么类型  type key名
判断key是否存在
 exists key名
删除指定key  del key名
修改key名
rename  原来key名   新key名   如果key名存在就会覆盖
如果key名存在就不改了  不存在则改
 renamenx  

redis默认开启了16个库  可在 redis.conf 配置文件中修改
databases   

移动到别的库  
move   key名   库编号
切换到别的库  select 库编号
查询key值有效期    
ttl  key名   返回秒数   -1 表示永久有效
设置有效期  
expire key名  整型值(设置的秒数)
设置有效期以毫秒为单位  
pexpire key名  整型值(设置的豪秒数)
设置永久有效
 persist key名

REDIS 字符串类型操作

设置key  val   存储字符串    set key名  val值   ex有效期秒  px毫秒 nx  xx    
注意 秒和毫秒只能使用一个  不能同时使用   如果同时设置 会以后面的为准  
nx  key不存在时执行  
xx key存在时执行
同时设置多个key val  
mset key1 val1 key2 val2
同时获取多个key值  mget key1 key2
修改val值   setrange  key名  偏移量  修改后的值    如果偏移量大于字符串长度 用0填充
把val值附加到key名后  append key名  附加的值
获取部分val值     getrange  key名  开始下标  结束下标  从左以 0 开始  从右从-1开始   注意 开始下标>长度  返回空    结束下标>= 长                                        度    截取到字符结尾

返回当前val值并修改为新值  
getset  key名  新值
增加1 incr key名  减去1
decr key名 
增加多   incrby  key名  增加的数量  
减去多
  decrby  key名  减去的数量
以浮点数增加  incrbyflot  key名 增加的数量

REDIS list  链表 类型操作

左边添加新的链表
 lpush   key名  val值  
右边添加新的链表
 rpush   key名  val值 
取出链表的某一段  lrange key名  起始位置  结束位置
返回并删除链表最左 lpop key名
返回并删除最右 rpop key名
删除指定值  lrem key名  要删除的数量  要删除的val值
截取指定值     lrange key名 开始位置 结束位置
查看链表长度 llen key名
在指定位置插入 linsert key名  before|after 指定的值   要插入的值
删除指定的并且插入另外的链表中
 rpoplpush  链表名1  链表名2  弹出链表1 的最右一个值 放入链表2最左
 

REDIS set  集合 类型操作

唯一性  无序性
增加一个集合  sadd key名 val1 val2   返回值 增加成功的数量   
查看集合中元素  smembers key名  
删除集合中某个指定元素  srem key名  要删除的值  返回值 具体成功的个数
随机返回并且删除一个元素  spop key名
随机返回集合中某个元素  srandmember key名
判断集合中是否存在某个元素
 sismember key名 val值
返回集合中元素的个数  scard key
把集合1中的某个元素删除并添加到集合2中
 smove 集合1 集合2 val值
求出几个集合中的交集 并返回
sinter key1 key2 key3 
求出几个集合中的并集 sunion key1 key2 key3 
求出key1与别的集合的差集
sdiff key1 key2 key3 

order set 有序集合\


增加一个有序集合 zadd key名 score1 val1 score2 val2 ```

查询范围内的值 按照排序  zrange  key名  范围 0 4    加withscores 取出对应的score
查询范围内的值 按照score
值  zrangebyscore  key名  范围 sort1 sort2   可以加 limit 跳过的位数  取几位  加withscores 取出对应的score
查询集合某个值的排名 升序
 zrank key名 val
查询集合某个值的排名 降序  zrevrank key名 val

删除集合内指定值 zrem key名 val
删除范围内的值 按照排序  zremrangebyrank  key名  范围 0 4    
删除范围内的值 按照score
zremrangebyscore
  key名  范围 score1
score2
统计
返回元素个数 zcard key
返回区间内的数量 zcount key 0 1 
返回两个集合见的最大值 最小值 和 放到新的集合中  zzinterstore 新的集合 比较的集合数量  集合1 集合2 aggregate min|max|sum
 

 
REDIS Hash  哈希数据类型操作

生成一个hash一次设置一个值
 hset keys field val
生成一个hash一次设置多个值
 hmset keys field1 val1 field2 val2 
查询所有 hgetall key
查询指定 hget key  field  
查询多个指定 hmget key  field1 field2
 
删除key中field域  hdel key fiedl
返回key中元素数量 hlen key
判断key中是否有field域
hexists key field
把key中的field域增长整形值
hinrby key field val 
把key中的field域增长浮点型值
hinrby float key field val 
返回key中所有field
hkeys key   
返回key中所有value
kvals key   

REDIS 事务

watch key1 key2  监控  如果任意一个有变化则事务取消
unwatch  取消监视
启动事务 muitl
把执行命令放在队列里 并不去执行
 exec后才去执行

失败了 discard
成功 exec
 

共同学习!共同进步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis nosql linux 事务