• 冬奥观察:奥林匹克在“云”间 2018-02-20
  •  “不打烊”不等于“全配送” 快递如何保障春节网购 2018-02-20
  • 开创生态文明新时代 绘出美丽中国新图景 2018-02-20
  • 人民网驻阿尔及利亚记者报道集 2018-02-19
  • 党务问答:党组与党委有何区别? 2018-02-19
  • MINI车联网服务3月起升级至4G网络 增加新功能 2018-02-18
  • 以色列警方:已有足够的证据可以用于起诉以总理 2018-02-18
  • 冬奥会短节目第四 金博洋:伤病令我更强大 2018-02-18
  • 天津市北辰区委书记冯卫华:强化政治担当 把主体责任落实落细 2018-02-17
  • 正月初一客流继续回落 全国铁路预计发送旅客389万人次 2018-02-17
  • 送别余光中:诗人虽远行,乡愁永流传 2018-02-17
  • 集团原董事长违纪被查 人员伤亡事故频发 湖北宜化:去年亏损额超过公司市值 2018-02-17
  • 图片故事:“六个人”的火车站 2018-02-16
  • 【马来西亚房产】雅诗阁之星十年包租可续租! ——凤凰网房产马来西亚 2018-02-16
  • 大量顺差在中国,多数利润归美国 2018-02-16
  • 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 基础经验的开发人员阅读。如果你拥有其他面向对象语言的经验,你会更容易理解本书的内容。