• redis详解


    1.全局命令详解

    • keys PATTERN (>= 1.0.0):查看符合条件的键,返回给定模式的 key 列表 (Array)   查看所有键(keys *)(导致数据库暂时被锁住)O(n)
    • dbsize (>= 1.0.0):当前数据库的 key 的数量(直接获取Redis内置的键总数变量)O(1)
    • exists KEY (>= 1.0.0) :key 存在返回 1 ,否则返回 0
    • del key [key ...](>= 1.0.0):被删除 key 的数量
    • expire key seconds(>= 1.0.0):设置 key 的过期时间,(单位以秒计)设置成功返回 1,当 key 不存在或者不能为 key 设置过期时间时返回 0
    • expireat key time_in_unix_timestamp(>= 1.0.0):设置 key 的在指定时间过期,设置成功返回 1,当 key 不存在或者不能为 key 设置过期时间时返回 0
    • ttl key(>= 1.0.0):以秒为单位返回 key 的剩余过期时间(当 key 不存在时,返回 -2 , 当 key 存在但没有设置剩余生存时间时,返回 -1 )
    • pttl key(>= 2.6.0):以毫秒为单位返回 key 的剩余过期时间(当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 )
    • type key(>= 1.0.0):返回 key 所储存的值的类型(
      • none (key不存在)
      • string (字符串)
      • list (列表)
      • set (集合)
      • zset (有序集)
      • hash (哈希表)
    • randomkey(>= 1.0.0):从当前数据库中随机返回一个 key (当数据库为空时,返回 nil (windows 系统返回 null))
    • rename oldKey newKey(>= 1.0.0):修改 key 的名称 (当 oldKey 和 newKey 相同,或者 oldKey 不存在时,返回一个错误。 当 newKey已经存在时, rename命令将覆盖旧值)
    • renamenx oldKey newKey(>= 1.0.0):修改成功时返回 1 。 如果 newKey 已经存在返回 0
    • object encoding key(>= 1.0.0):查询内部编码

    2.数据结构和内部结构

    • string 
      • int :      8个字节的长整型
      • embstr:小于等于39个字节的字符串
      • raw:     大于39个字节的字符串
    • hash
      • ziplist: 使用更加紧凑的结构实现多个元素的连续存储
        • 元素个数  < hash-max-ziplist-entries(默认512个)
        • 所有值     < hash-max-ziplist-value(默认64个字节)
      • hashtable:当无法满足ziplist的条件时,使用hashtable作为哈希的内部实现,读写时间复杂度为O(1)
    • list 
      • ziplist: 使用更加紧凑的结构实现多个元素的连续存储
        • 元素个数  < list-max-ziplist-entries(默认512个)
        • 所有值     < list-max-ziplist-value(默认64个字节)
      • linkedlist:无法满足ziplist的条件时,Redis会使用linkedlist作为列表的内部实现
    • set
      • intset:减少内存的使用
        • 所有元素  ==  整数
        • 元素个数  <   set-max-intset-entries(默认512个)
      • hashtable:无法满足intset的条件时,Redis会使用hashtable作为集合的内部实现
    • zset
      • ziplist:有效减少内存使用
        • 元素个数  <  zset-max-ziplist-entries(默认128个)
        • 元素值     <  zset-max-ziplist-value(默认64个字节)
      • skiplist:无法满足ziplist的条件时,Redis会使用skiplist作为集合的内部实现,读写效率会下降

    3.数据类型

    3.1、字符串

    • set key value [ex seconds] [px milliseconds] [nx|xx](>= 1.0.0):设置给定 key 的值。如果 key 已经存储其他值,覆写旧值  ·nx:键必须不存在 xx:键必须存在
    • setnx key value (>= 1.0.0):在指定的 key 不存在时,为 key 设置指定的值  成功返回 1 ;失败返回 0
    • setex key timeout value(>= 2.0.0): key 设置值及其过期时间
    • mset key value [key value ...](>= 1.0.1):同时设置一个或多个 key-value 对
    • get key(>= 1.0.0):获取指定 key 的值。如果 key 不存在,返回 nil 
    • mget key [key ...](>= 1.0.0):返回所有(一个或多个)给定 key 的值
  • 相关阅读:
    Mysql_大字段问题Row size too large.....not counting BLOBs, is 8126.
    Pycharm快捷键设置(鼠标滚动控制字体大小)
    python实现将base64编码的图片下载到本地
    [CentOS_7.4]Linux编译安装ffmpeg
    contenOs7
    文本特征提取方法研究
    Mahout中相似度计算方法介绍
    基于Mahout的电影推荐系统
    向Python女神推荐这些年我追过的经典书籍
    Mahout推荐算法API详解
  • 原文地址:https://www.cnblogs.com/pascall/p/12336749.html
Copyright © 2020-2023  润新知