Redis系列-key相关主要操作函数

转载 2016年05月31日 12:45:08

这篇blog主要总结下,redis中跟key相关的常用函数

1)keys

语法:keys pattern

解释:查找所有匹配指定模式pattern的key

[plain] view plain copy
  1. [root@xsf001 ~]# redis-cli   
  2. redis 127.0.0.1:6379> keys *  #所有key  
  3.  1) "score"  
  4.  2) "stu"  
  5.  3) "score1"  
  6.  4) "dest"  
  7.  5) "lst.user"  
  8.  6) "lst.tect"  
  9. redis 127.0.0.1:6379> keys scor?   
  10. 1) "score"  
  11. redis 127.0.0.1:6379> keys scor[ee1]  
  12. 1) "score"  
2)randomkey

语法:randomkey 

解释:返回一个随机key

[plain] view plain copy
  1. redis 127.0.0.1:6379> randomkey  
  2. "score"  
  3. redis 127.0.0.1:6379> randomkey  
  4. "list.user"  

3)exists

语法:exists key

解释:判断一个key是否存在

[plain] view plain copy
  1. redis 127.0.0.1:6379> exists score  #key存在 返回1  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> exists scorefda #key不存在 返回0  
  4. (integer) 0  
4)type

语法:type key

解释:返回key所存储的值类型,返回值:none【key不存在】,string,list ,set, zset和hash

[plain] view plain copy
  1. redis 127.0.0.1:6379> type score  
  2. zset  
  3. redis 127.0.0.1:6379> type lst.user  
  4. list  

5)expire

语法:expire key seconds

解释:设置key的生存时间,单位是秒,当key过期时,会被自动删除

[plain] view plain copy
  1. redis 127.0.0.1:6379> expire dest 30  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> expire dest1 30 # key不存在  
  4. (integer) 0  

6)ttl

语法: ttl key

解释:得到key能存活时间,如果key不存在或没有设置生存时间时,返回-1

[plain] view plain copy
  1. redis 127.0.0.1:6379> expire diff 100  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> ttl diff  
  4. (integer) 94  
  5. redis 127.0.0.1:6379> ttl diff  
  6. (integer) 92  
7)persist

语法:persist key

解释:移除给定key的生存时间

[plain] view plain copy
  1. redis 127.0.0.1:6379> ttl diff  
  2. (integer) 28  
  3. redis 127.0.0.1:6379> persist diff  
  4. (integer) 1  
  5. redis 127.0.0.1:6379> ttl diff  
  6. (integer) -1  

8)rename

语法:rename key newkey

解释:将key改名为newkey

[plain] view plain copy
  1. redis 127.0.0.1:6379> smembers diff  
  2. 1) "zhangsan01"  
  3. redis 127.0.0.1:6379> rename diff diff01  
  4. OK  
  5. redis 127.0.0.1:6379> smembers diff  
  6. (empty list or set)  
  7. redis 127.0.0.1:6379> smembers diff01  
  8. 1) "zhangsan01"  
  9. redis 127.0.0.1:6379> rename diff diff01  
  10. (error) ERR no such key  
注意:当key和newkey相同或key不存在时,返回错误;当newkey已存在时,rename将覆盖旧值。

9)renamenx
语法:renamenx key newkey

解释:当且仅当newkey不存在时,改名key

[plain] view plain copy
  1. redis 127.0.0.1:6379> renamenx diff01 stu  #stu存在  
  2. (integer) 0  
  3. redis 127.0.0.1:6379> renamenx diff01 diff #diff不存在  
  4. (integer) 1  

10)del

语法:del key [key ...]

   解释:删除一个或多个key

[plain] view plain copy
  1. redis 127.0.0.1:6379> del score1  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> del union diff aa  #key aa 不存在  
  4. (integer) 2  
11)move

语法:move key db

解释:将key移动到指定db

[plain] view plain copy
  1. redis 127.0.0.1:6379> smembers stu #默认0  
  2. 1) "zhangsan01"  
  3. 2) "wangwu"  
  4. redis 127.0.0.1:6379> move stu 1  #移动到 1  
  5. (integer) 1  
  6. redis 127.0.0.1:6379> smembers stu  
  7. (empty list or set)  
  8. redis 127.0.0.1:6379> select 1 #选择db 1  
  9. OK  
  10. redis 127.0.0.1:6379[1]> smembers stu  
  11. 1) "zhangsan01"  
  12. 2) "wangwu"  
12)sort

语法:sort key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

解释:返回或保持给定列表,集合,有序集合key中经过排序的元素

[plain] view plain copy
  1. redis 127.0.0.1:6379> sort lst.tech limit 0 2 alpha desc #按字符集排序  
  2. 1) "tec06"  
  3. 2) "tec05"  
  4. redis 127.0.0.1:6379> sort lst.stud  
  5. 1) "1"  
  6. 2) "2"  
  7. 3) "3"  
  8. redis 127.0.0.1:6379> sort lst.stud desc   
  9. 1) "3"  
  10. 2) "2"  
  11. 3) "1"  
  12. redis 127.0.0.1:6379> keys stu.*  
  13. 1) "stu.name.2"  
  14. 2) "stu.name.3"  
  15. 3) "stu.level.1"  
  16. 4) "stu.level.2"  
  17. 5) "stu.level.3"  
  18. 6) "stu.name.1"  
  19. redis 127.0.0.1:6379> sort lst.stud by stu.level.* desc get stu.level.* get stu.name.*  
  20. 1) "3"  
  21. 2) "admin"  
  22. 3) "2"  
  23. 4) "joe"  
  24. 5) "1"  
  25. 6) "jim"  
  26. redis 127.0.0.1:6379> sort lst.stud by stu.level.* asc get stu.name.*  
  27. 1) "jim"  
  28. 2) "joe"  
  29. 3) "admin"  

sort虽然很“厉害”,但尽量不要让redis服务器来sort大量的数据。可以通过设定阀值减少要sort的数据,或把排序操作向前移,在web服务器或各个应用上来sort。

相关文章推荐

Redis系列-存储篇hash主要操作函数小结

http://blog.csdn.net/love__coder/article/details/8274886 阳光透过玻璃,洒在身上,一杯暖茶在手,说不尽的安逸自得,让我有种想再写篇bl...

Redis系列-存储篇sorted set主要操作函数小结

Redis支持有序集合,即sorted set。sorted set在set的基础上,增加了排序属性,是set的升级版。这里简要谈谈sorted set的常用函数: 1)insert a)  zadd...

Redis系列(3)--- Redis key相关的操作

DEL:删除一个或多个key。返回值为删除的key的数量 127.0.0.1:6379> get name "felix" 127.0.0.1:6379> del name (integer) 1 1...

Redis中-list主要操作函数小结

在总结list之前,先要弄明白几个跟list相关的概念: 列表:一个从左到右的队列,个人理解更类似于一个栈,常规模式下,先进列表的元素,后出。 表头元素:列表最左端第一个元素。 表尾...

Redis in Python: Redis 键(key)相关函数简介

Redis键相关函数的使用简介。

Redis数据库系列(二)------Redis对于key的操作命令

del key1 key2 ... Keyn 作用: 删除1个或多个键 返回值: 不存在的key忽略掉,返回真正删除的key的数量 rename key newkey

Redis学习笔记 (四) 之KEY相关命令

Redis学习笔记(四) 之KEY相关命令KEY 相关命令 KEYS 查找所有符合给定模式pattern(正则表达式)的 key 。 KEYS pattern127.0.0.1:6379> KEY...

Redis_Key操作命令

  • 2014-04-17 11:14
  • 58KB
  • 下载

Redis实战系列(4) key的设计

Redis实战系列(4) key的设计 我们的业务是内部微博,主要模块有 用户信息、微博信息、我关注的人、我的粉丝、我关注的人发布的微博、我发布的微博,还有类似sina微博的小黄签之类的提醒功能。 ...

07分布式内存NOSQL_redis key操作命令

一、概述:       在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)