美文网首页
02.`redis`的常用数据类型以及操作

02.`redis`的常用数据类型以及操作

作者: 风安峻_ | 来源:发表于2020-09-12 20:08 被阅读0次
1. 数据类型
  1. redis官网
  2. 数据类型
    1. redis 常用的数据类型是种,但是它支持的数据类型不止五种,如图所示

      redis的数据类型
    2. 常用的数据类型

      常用的数据类型 说明
      string 字符串类型,字符串的值最大长度为 512 M
      hash 散列类型,对应JavaMap
      list 列表类型,对应JavaList,列表的最大长度为2^32-1个元素,大约40亿
      set 集合类型
      zset 有序集合类型(根据设置的 score 进行排序)
2. 常用数据类型的操作
  1. 通用

    # 获取数据库所有的键
    keys *
    
    # 判断某个键是否存在,存在返回 1,不存在返回 0
    exists key
    
    # 获取键的类型(string, hash, list,set, zset)
    type key
    
    # 设置key的存活时间,单位为秒
    expire key 数值
    
    # 查看 key 的存活时间
    ttl key
        
    # 删除键,多个键用 , 隔开
    del key1, key2, key3……
    
    # 删除所有的键
    flushall
    
  2. string

    # 设置值,如果键存在则覆盖
    set key value
    
    # 将对应的键的值递增1,即+1,注意该值必须是数字
    incr key
    
    # 将对应的键的值递减1,即-1,注意该值必须是数字
    decr key
    
    # 根据键取值
    get key
    
    # 如果不存在则设置(redis设置分布式锁)
    setnx key value
    
    string 操作
  3. list

    # 往key集合的左侧设置值,并返回这是第几个元素
    lpush key value
    
    # 往key集合的右侧设置值,并返回这是第几个元素
    rpush key value
    
    # 取key集合中索引在[start, end]的值
    # lrange key 0 -1  查询key集合所有的值
    lrange key start end
    
    # 获取key集合中索引为 index 的元素
    lindex key index
    
    # 设置key集合中索引为 index 的值为 value
    lset key index value
    
    # 获取key集合的长度 
    llen key
    
    # 移除并返回key集合的 首元素
    lpop key
    
    # 移除并返回key集合的 尾元素
    rpop key
    
    # 移除列表中 count 个值为 value 的数据并返回删除了几个数据
    # count 为 0 移除所有值为 value 的数据
    lrem key count value
    
    # 保留索引在 [start, end] 之间的元素,其他全部删除
    ltrim key start end
    
    list 的操作-1 list 的操作-2 list 的操作-3
  4. set

    # 往名为key的集合中添加元素,返回添加成功的个数,元素间空格隔开
    sadd key member1 member2 member3 ...
    
    # 返回名为key的集合中所有的元素
    smembers key
    
    # 删除名为key的集合的元素,返回删除成功的个数,元素间空格隔开
    srem key member1 member2 ...
    
    # 返回名为key的集合中的个数
    scard key
    
    # 判断名为key的集合中是否存在member,存在则返回1,不存在返回0
    sismember key member
    
    # 从key集合中随机返回一个值
    srandmember key
    
    # 随机移除key集合中的元素,并返回该元素
    spop key
    
    # 将source集合中的member元素移动到名为target的集合中
    smove source target member
    
    # 对key1 key2两个集合求交集
    sinter key1 key2
    
    # 对key1 key2两个集合求并集
    sunion key1 key2
    
    # 对key1 key2差集运算,返回结果数,并将结果存储到集合target中
    sdiffstore target key1 key2
    
    # 对key1 key2交集运算,返回结果数,并将结果存储到集合target中
    sinterstore target key1 key2
    
    # 对key1 key2并集运算,返回结果数,并将结果存储到集合target中
    sunionstore target key1 key2
    
    set 相关操作
  5. zset

    # score 必须为数值(可以为负数),根据score从小到大进行排序
    # 添加元素到key集合,如果value存在则修改score
    zadd key score1 value1 score2 value2 ...
    
    # 获取key集合中value元素的分数score,value不存在返回 null
    zscore key value
    
    # 获取key集合中索引在 [start, end] 的所有元素
    # zrange key 0 -1 获取所有
    zrange key start end
    
    # 获取key集合中索引在 [start, end] 的所有元素及其分数
    zrange key start end withscores
    
    # 获取key集合中元素的个数
    zcard key 
    
    # 获取分数在 [min, max] 范围内的元素的个数
    zcount key min max
    
    # 获取分数在 [min, max] 范围内的所有元素,根据分数排序
    zrangebyscore key min max
    
    # 查询key集合中分数在 [min, max] 范围内的所有元素,分页获取索引为index,条数为rows的数据
    zrangebyscore key min max limit index rows
    
    # 获取 value 在 key 集合中的下标
    zrank key value 
    
    # 删除key集合的元素,多个元素用 空格 隔开
    zrem key value1 value2 ...
    
    # 将key集合的元素倒序排列后,然后取索引在 [begin, end] 范围内的元素
    zrevrange key begin end
    
    # 移除 key 集合分数在 [min, max] 范围内的元素,并返回移除的个数
    zremrangebyscore key min max
    
    # 移除 key 集合索引在 [begin, end] 之间的元素
    zremrangebyrank key begin end
    
    zset 操作-1 zset 操作-2
  6. hash

    # 设置值,如果存在相同的 key,将会覆盖对应的 value
    # map 是这个 hash 的 key 键名,对应 java 的 map 的变量名
    # key value 是 map 里面的键值对
    # 多个键值对用 空格 隔开
    hset map key1 value1 key2 value2 ... 
    
    # 获取名为 map 的 hash 集合中的名为 key 的 value 值
    hget map key
    
    # 判断名为 map 的 hash 集合中的 key 是否存在
    # 存在返回1,不存在返回0
    hexists map key
    
    # 获取名为 map 的 hash 集合中所有的 key
    hkeys map
    
    # 获取名为 map 的 hash 集合中的所有字段 value 值
    hvals map
    
    # 获取名为 map 的 hash 集合中所有的元素(key 跟 value)
    hgetall map
    
    # 获取名为 map 的 hash 集合所有字段的数量
    hlen map
    
    # 删除 map 集合中的 key 字段
    hdel map key
    
    # 如果名为 map 的 hash 集合中不存在名为 key 的键值对,则设置值
    hsetnx map key value
    
    hash 操作-1 hash 操作-2

相关文章

  • 02.`redis`的常用数据类型以及操作

    1. 数据类型 redis官网 数据类型redis 常用的数据类型是五种,但是它支持的数据类型不止五种,如图所示r...

  • NoSQL二--Redis

    目录 一、Redis介绍二、安装Redis三、Redis 持久化四、Redis 的数据类型五、Redis常用操作六...

  • Redis学习笔记02——数据类型和操作命令

    本文主要介绍 Redis 常用的基本操作命令和数据类型操作命令,也就是 Redis 的基本使用。通过学习本文,应该...

  • 03 Redis命令

    为了梳理知识点,本文章仅对Redis公共的命令作记录,对数据类型的常用操作命令请查看我的 Redis数据类型 文...

  • 18 redis 总结

    1,redis 应用场景: 2, 选择配置文件执行server redis 数据类型以及基本操作:Redis一共...

  • 干货 | Redis 内存使用优化与存储

    干货 | Redis 内存使用优化与存储 Redis 常用数据类型 Redis 最为常用的数据类型主要有以下五种:...

  • Redis 内存使用优化与存储

    Redis 常用数据类型 Redis 最为常用的数据类型主要有以下五种: •String •Hash •List ...

  • Redis常用命令

    Redis常用命令 redis常见数据类型操作命令参考网址 1.键(key) keys *:查看所有key; ex...

  • RedisTemplate应用

    介绍Redis常用的5种数据类型的操作API。 1、导入依赖 2、添加配置 如果redis以单机方式部署,则需要配...

  • redis 第三讲 数据类型

    redis 五大数据类型 哪里获取redis常见数据类型操作命令 参考 redis 键(key) redis 字符...

网友评论

      本文标题:02.`redis`的常用数据类型以及操作

      本文链接:https://www.haomeiwen.com/subject/wpdtektx.html