zoukankan      html  css  js  c++  java
  • redis对 key 的通用操作

    redis 学习

    对 key 的通用操作

    查看所有的 key

    keys *
    

    用正则表达式

    keys [pattern]
    例:
    keys [si?e]
    

    随机返回一个已有的key:randomkey

    randomkey
    

    以上代码示例:

    127.0.0.1:6379> set site www.zixue.it
    OK
    127.0.0.1:6379> set age 29
    OK
    127.0.0.1:6379> keys *
    1) "site"
    2) "age"
    127.0.0.1:6379> keys si*
    1) "site"
    127.0.0.1:6379> randomkey
    "age"
    127.0.0.1:6379> randomkey
    "site"
    

    查看 key 所对应 value 的值

    type key
    例:
    type site
    

    查看 key 是否存在

    exists key
    例:
    exists age
    

    删除一个 key

    del key
    例:
    del site
    

    上述代码示例:

    127.0.0.1:6379> type age
    string
    127.0.0.1:6379> exists site
    (integer) 1
    127.0.0.1:6379> del site
    (integer) 1
    127.0.0.1:6379> exists site
    (integer) 0
    127.0.0.1:6379> keys *
    1) "age"
    

    重命名 key

    rename 原始key 新的key
    例如:
    rename site wangzhi
    

    重命名 key , 前提是新的 key 不存在(修改后的key 不能和数据库中其它key 冲突)

    renamenx 原始key 新的key   # renamenx  =  raname not exist
    例如:
    rename wangzhi site
    

    上述代码示例:

    127.0.0.1:6379> set site www.baidu.com
    OK
    127.0.0.1:6379> rename site wangzhi  # 会覆盖存在的key
    OK
    127.0.0.1:6379> keys *
    1) "wangzhi"
    2) "age"
    
    
    127.0.0.1:6379> keys *
    1) "site"
    2) "search"
    3) "age"
    127.0.0.1:6379> renamenx site age
    (integer) 0   # 没有修改成功
    127.0.0.1:6379> keys *
    1) "site"
    2) "search"
    3) "age"
    127.0.0.1:6379> renamenx site sites
    (integer) 1   # 修改成功
    127.0.0.1:6379> keys *
    1) "search"
    2) "age"
    3) "sites"
    

    数据库

    默认有16 个数据库 在配置文件里边修改配置文件可以 增加或者减少数据库数量。

    默认打开的数据库 是0号数据库

    切换数据库

    select 数字
    如:
    select 1  # 选择 1 号数据库
    
    127.0.0.1:6379> keys *
    1) "search"
    2) "age"
    3) "sites"
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> keys *
    (empty list or set)
    

    将key移动到其他数据库

    move key 数据库序号
    例如:
    move site 1
    
    127.0.0.1:6379> keys *
    1) "search"
    2) "age"
    3) "sites"
    127.0.0.1:6379> move search 1  # 将 search 从 0 号数据库移动到 1 号数据库
    (integer) 1
    127.0.0.1:6379> keys *
    1) "age"
    2) "sites"
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> keys *
    1) "search"
    

    查询 key 的过期时间

    ttl key   # key 不存在也可以
    例如:
    ttl site  # 返回值是 秒数 s 为单位
    
    127.0.0.1:6379> keys *
    1) "age"
    2) "sites"
    127.0.0.1:6379> ttl age
    (integer) -1   # 返回值是 -1 表示永久有效
    127.0.0.1:6379> ttl dsaf
    (integer) -2  #当 key 不存在/已过期时结果为 -2 (v2.8 以后到返回结果)
    

    设置 key 过期时间

    expire key seconds
    例如:
    expire sites 10
    
    127.0.0.1:6379> expire sites 10
    (integer) 1
    127.0.0.1:6379> get sites
    "www.site.com"   
    #. 10s 后
    127.0.0.1:6379> get sites
    (nil)
    

    如果有更加精确的要求可以在上面两者前边加上p

    pttl site			# 返回值 以毫秒为单位
    pexpire site 1000  # 以毫秒为单位
    

    如果要设置 key 永久有效

    persist key  # 将key指定为永久有效
    
  • 相关阅读:
    如何动态确定命名空间
    五种提高 SQL 性能的方法
    无意间发现收藏夹的秘密(^_^,也许大家早就知道了?)
    每个开发人员现在应该下载的十种必备工具,这个是中文的哦
    一个让我狂晕的异常及例行xiao总结
    几个开源项目实体层实现方式比较
    线程池在web上的简单应用
    不为"事务"而"事务"
    构造函数,静态构造函数与继承链
    小Tips两则
  • 原文地址:https://www.cnblogs.com/sha-ka/p/12779492.html
Copyright © 2011-2022 走看看