• 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指定为永久有效
    
  • 相关阅读:
    Qt中的 Size Hints 和 Size Policies
    __declspec,__cdecl,__stdcall区别和作用
    深入理解DLL文件
    TCP/IP TIME_WAIT状态原理
    Linux 网络编程 高级套接字
    OpenCV 图像处理学习笔记(一)
    C++运算符重载的规则
    WinSock异步IO模型之Select
    ASSER、VERIFY、TRACE详解
    VC++ 网络编程总结(二)
  • 原文地址:https://www.cnblogs.com/sha-ka/p/12779492.html
Copyright © 2020-2023  润新知