redis部分常用命令汇总 - Go语言中文社区

redis部分常用命令汇总


redis命令有很多,一般包括服务器命令和一些具体数据结构的操作命令,这里介绍了一些常用命令汇总,主要是通过查阅资料和结合个人总结,方便自己也方便他人查阅,如有不对之处还请多多指教。
启动 redis 客户端
打开终端或在redis文件路径打开命令行并输入命令 redis-cli。该命令会连接本地的 redis 服务。
在这里插入图片描述
连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。
在这里插入图片描述
启动远程 redis 服务
redis-cli -h host -p port -a password
退出客户端
quit 或exit
检查给定 key 是否存在
exists key
Redis 查看所有的key
keys * 查看所有的key(中间有空格)
exists name 查看n是否有name这个key
randomkey 随机返回数据库里面的一个key
rename key2 key3 重命名key2 为key3
type key2 返回key的数据类型
删除key name
del key
设置有效时间
expire key 100 设置key100秒过期
ttl key 获取这个key的有效时长
pttl key查询key 的生命周期(毫秒)
perisist key把指定key设置为永久有效
选择数据库
select 0 选择到0数据库 redis默认的数据库是0~15一共16个数据库
move key 1 将当前数据库中的key移动到其他的数据库中,这里就是把这个key从当前数据库中移动到1中
清除所有库所有key数据
flushall 清除所有库所有key数据
清除单个库所有key数据
flushdb 删除当前选择数据库中的所有key,清除单个库所有key数据
字符串类型的操作命令
 (1)set key value [ex 秒数] [px 毫秒数] [nx/xx]  
      如果ex和px同时写,则以后面的有效期为准
      nx:如果key不存在则建立
      xx:如果key存在则修改其值
 (2)get key:取值
 (3)mset key1 value1 key2 value2 一次设置多个值
 (4)mget key1 key2 :一次获取多个值
链表的操作命令
  Redis的list类型其实就是一个每个子元素都是string类型的双向链表,链表的最大长度是2^32。list既可以用做栈,也可以用做队列。list的pop操作还有阻塞版本,主要是为了避免轮询
 (1)lpush key value:把值插入到链表头部
 (2)rpush key value:把值插入到链表尾部
 (3)lpop key :返回并删除链表头部元素
 (4)rpop key: 返回并删除链表尾部元素
 (5)lrange key start stop:返回链表中[start, stop]中的元素,lrange(‘key1’, 0, -1),返回名称为key的list中start至end之间的元素(end为 -1 ,返回所有)
 (6)lrem key count value:从链表中删除value值,删除count的绝对值个value后结束
   count > 0 从表头删除  count < 0 从表尾删除  count=0 全部删除
 (7)ltrim key start stop:剪切key对应的链接,切[start, stop]一段并把改制重新赋给key
 (8)lindex key index:返回index索引上的值
 (9)llen key:计算链表的元素个数
 (10)linsert key after|before search value:在key 链表中寻找search,并在search值之前|之后插入value
hashes类型及操作命令
  Redis hash 是一个string类型的field和value的映射表,它的添加、删除操作都是O(1)(平均)。hash特别适用于存储对象,将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象。
  配置: hash_max_zipmap_entries 64 #配置字段最多64个
      hash_max_zipmap_value 512 #配置value最大为512字节
 (1)hset myhash field value:设置myhash的field为value
 (2)hsetnx myhash field value:不存在的情况下设置myhash的field为value
 (3)hmset myhash field1 value1 field2 value2:同时设置多个field
 (4)hget myhash field:获取指定的hash field
 (5)hmget myhash field1 field2:一次获取多个field
 (6)hincrby myhash field 5:指定的hash field加上给定的值
 (7)hexists myhash field:测试指定的field是否存在
 (8)hlen myhash:返回hash的field数量
 (9)hdel myhash field:删除指定的field
 (10)hkeys myhash:返回hash所有的field
 (11)hvals myhash:返回hash所有的value
 (12)hgetall myhash:获取某个hash中全部的field及value
集合结构操作命令
  特点:无序性、确定性、唯一性
 (1)sadd key value1 value2:往集合里面添加元素
 (2)smembers key:获取集合所有的元素
 (3)srem key value:删除集合某个元素
 (4)spop key:返回并删除集合中1个随机元素(可以坐抽奖,不会重复抽到某人)   
 (5)srandmember key:随机取一个元素
 (6)sismember key value:判断集合是否有某个值
 (7)scard key:返回集合元素的个数
 (8)smove source dest value:把source的value移动到dest集合中
 (9)sinter key1 key2 key3:求key1 key2 key3的交集
 (10)sunion key1 key2:求key1 key2 的并集
 (11)sdiff key1 key2:求key1 key2的差集
 (12)sinterstore res key1 key2:求key1 key2的交集并存在res里 
有序集合操作命令
  概念:它是在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动按新的值调整顺序。可以理解为有两列的mysql表,一列存储value,一列存储顺序,操作中key理解为zset的名字。
  和set一样sorted,sets也是string类型元素的集合,不同的是每个元素都会关联一个double型的score。sorted set的实现是skip list和hash table的混合体。
  当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1)。另一个score到元素的映射被添加的skip list,并按照score排序,所以就可以有序地获取集合中的元素。添加、删除操作开销都是O(logN)和skip list的开销一致,redis的skip list 实现是双向链表,这样就可以逆序从尾部去元素。sorted set最经常使用方式应该就是作为索引来使用,我们可以把要排序的字段作为score存储,对象的ID当元素存储。
 (1)zadd key score1 value1:添加元素
 (2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素 默认是升续排列 withscores 是把score也打印出来
 (3)zrank key member:查询member的排名(升序0名开始)
 (4)zrangebyscore key min max [withscores] limit offset N:集合(升序)排序后取score在[min, max]内的元素,并跳过offset个,取出N个
 (5)zrevrank key member:查询member排名(降序 0名开始)
 (6)zremrangebyscore key min max:按照score来删除元素,删除score在[min, max]之间
 (7)zrem key value1 value2:删除集合中的元素
 (8)zremrangebyrank key start end:按排名删除元素,删除名次在[start, end]之间的
 (9)zcard key:返回集合元素的个数
 (10)zcount key min max:返回[min, max]区间内元素数量
如有不对欢迎指正,相互学习,共同进步。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/wade3015/article/details/83785904
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 10:57:34
  • 阅读 ( 1328 )
  • 分类:Redis

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢