• 中国新一代百亿亿次超级计算机“天河三号”原型机首次亮相[组图] 2018-08-17
  • “动静”结合丨带你感受不一样的实爆训练场 2018-08-17
  • 侠客岛:拿什么拯救你,不学普通话的香港年轻人 2018-08-17
  • 机构改革是一场政治考验 2018-08-17
  • 简讯:韩国前总统朴槿惠一审被判24年有期徒刑 2018-08-16
  • 人民网评:走向大洋,呼唤现代化的中国海军 2018-08-16
  • 北京成立学生申诉处理委员会-地方新闻-时政频道-中工网 2018-08-16
  • 虽胜不足喜!鲁能一隐忧不治愈,恐高开低走 2018-08-16
  • 小鱼儿戴胡可帽子似贵妇 临睡之前表白妈妈嘴超甜 2018-08-16
  • “北京8分钟”融入人工智能 通过互联网与国人互动 2018-08-16
  • 四部门调整完善新能源汽车推广应用财政补贴政策 2018-08-15
  • 两男子在吉大美食城“百元找零”诈骗? 2018-08-12
  • 突破!郑鹏创中国队冬残奥会个人项目最好成绩 2018-08-12
  • 今年铜陵市将治理水土流失面积36平方公里 2018-08-11
  • 篮球投注技巧 2018-08-11
  • Redis系列-key相关主要操作函数

    栏目: redis 发布于: 2014-01-19 16:06:01

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

    1)keys

    语法:keys pattern

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

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

    语法:randomkey 

    解释:返回一个随机key

    redis 127.0.0.1:6379> randomkey
    "score"
    redis 127.0.0.1:6379> randomkey
    "list.user"
    3)exists

    语法:exists key

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

    redis 127.0.0.1:6379> exists score  #key存在 返回1
    (integer) 1
    redis 127.0.0.1:6379> exists scorefda #key不存在 返回0
    (integer) 0
    4)type

    语法:type key

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

    redis 127.0.0.1:6379> type score
    zset
    redis 127.0.0.1:6379> type lst.user
    list
    5)expire

    语法:expire key seconds

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

    redis 127.0.0.1:6379> expire dest 30
    (integer) 1
    redis 127.0.0.1:6379> expire dest1 30 # key不存在
    (integer) 0
    6)ttl

    语法: ttl key

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

    redis 127.0.0.1:6379> expire diff 100
    (integer) 1
    redis 127.0.0.1:6379> ttl diff
    (integer) 94
    redis 127.0.0.1:6379> ttl diff
    (integer) 92
    7)persist

    语法:persist key

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

    redis 127.0.0.1:6379> ttl diff
    (integer) 28
    redis 127.0.0.1:6379> persist diff
    (integer) 1
    redis 127.0.0.1:6379> ttl diff
    (integer) -1
    8)rename

    语法:rename key newkey

    解释:将key改名为newkey

    redis 127.0.0.1:6379> smembers diff
    1) "zhangsan01"
    redis 127.0.0.1:6379> rename diff diff01
    OK
    redis 127.0.0.1:6379> smembers diff
    (empty list or set)
    redis 127.0.0.1:6379> smembers diff01
    1) "zhangsan01"
    redis 127.0.0.1:6379> rename diff diff01
    (error) ERR no such key
    注意:当key和newkey相同或key不存在时,返回错误;当newkey已存在时,rename将覆盖旧值。

    9)renamenx

    语法:renamenx key newkey

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

    redis 127.0.0.1:6379> renamenx diff01 stu  #stu存在
    (integer) 0
    redis 127.0.0.1:6379> renamenx diff01 diff #diff不存在
    (integer) 1
    10)del

    语法:del key [key ...]

    解释:删除一个或多个key

    redis 127.0.0.1:6379> del score1
    (integer) 1
    redis 127.0.0.1:6379> del union diff aa  #key aa 不存在
    (integer) 2
    11)move

    语法:move key db

    解释:将key移动到指定db

    redis 127.0.0.1:6379> smembers stu #默认0
    1) "zhangsan01"
    2) "wangwu"
    redis 127.0.0.1:6379> move stu 1  #移动到 1
    (integer) 1
    redis 127.0.0.1:6379> smembers stu
    (empty list or set)
    redis 127.0.0.1:6379> select 1 #选择db 1
    OK
    redis 127.0.0.1:6379[1]> smembers stu
    1) "zhangsan01"
    2) "wangwu"
    12)sort

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

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

    redis 127.0.0.1:6379> sort lst.tech limit 0 2 alpha desc #按字符集排序
    1) "tec06"
    2) "tec05"
    redis 127.0.0.1:6379> sort lst.stud
    1) "1"
    2) "2"
    3) "3"
    redis 127.0.0.1:6379> sort lst.stud desc 
    1) "3"
    2) "2"
    3) "1"
    redis 127.0.0.1:6379> keys stu.*
    1) "stu.name.2"
    2) "stu.name.3"
    3) "stu.level.1"
    4) "stu.level.2"
    5) "stu.level.3"
    6) "stu.name.1"
    redis 127.0.0.1:6379> sort lst.stud by stu.level.* desc get stu.level.* get stu.name.*
    1) "3"
    2) "admin"
    3) "2"
    4) "joe"
    5) "1"
    6) "jim"
    redis 127.0.0.1:6379> sort lst.stud by stu.level.* asc get stu.name.*
    1) "jim"
    2) "joe"
    3) "admin"
    sort虽然很“厉害”,但尽量不要让redis服务器来sort大量的数据??梢酝ü瓒ǚе导跎僖猻ort的数据,或把排序操作向前移,在web服务器或各个应用上来sort。

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:Redis系列-key相关主要操作函数
    IT技术书籍推荐:
    Python 3面向对象编程
    Python 3面向对象编程
    达斯帝·菲利普斯 (Dusty Phillips) (作者), 肖鹏 (译者), 常贺 (译者), 石琳 (译者)
    Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。本书通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念和原则。本书不是Python 的入门书籍,适合具有Python 基础经验的开发人员阅读。如果你拥有其他面向对象语言的经验,你会更容易理解本书的内容。