• 《寻梦环游记》《至爱梵高》 明年奥斯卡种子选手且看且珍惜 2018-06-23
  • 海南特区改革开放30年:闯出一片辽阔的海 2018-06-23
  • 黑龙江省近三年有400多名责任人因破坏营商环境被处理 2018-06-23
  • 右玉:锣鼓喧天庆盛世 万民欢腾闹元宵 2018-06-23
  • 【手绘H5】我们的领袖习近平 2018-06-23
  • 上市公司并购新三板企业升温 2018-06-23
  • 特朗普再与世界"为敌" 多国斥其关于耶路撒冷决定 2018-06-22
  • 严防“两节”期间“四风”反弹 持续保持高压态势 2018-06-22
  • 反转!华南理工大学否认向莱阳14岁神童发送考察函 2018-06-21
  • 中国出版集团公司总裁谭跃委员:唱响新时代的好声音 2018-06-21
  • 新華網評:分享經濟,別演成分享的“獨角戲” 2018-06-20
  • 红薯会越放越甜吗 如何保存红薯最科学? 2018-06-20
  • 猪肉创八年新低部分养殖户巨亏离场 行业加速洗牌 2018-06-19
  • 招商证券:创业板反弹压力逐渐显现 2018-06-19
  • “一拖二快三”足球比分直400余名应届大学毕业生成为部队“准警官” 2018-06-19
  • 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 基础经验的开发人员阅读。如果你拥有其他面向对象语言的经验,你会更容易理解本书的内容。