1.redis常见数据类型-字符串String、列表List、集合Set、Hash哈希、Zset有序集合
阅读原文时间:2023年08月14日阅读:3

背景:

  1. 这里说的数据类型是value的数据类型,key的类型都是字符串。
  2. 命令不区分大小写,而key的值是区分大小写的
  3. help @+数据类型 会出现命令提示 比如 help@string,help@list

常见命令:

keys * 查看当前库所有key (匹配:keys *1)
exists key 判断某个key是否存在
type key 查看你的key是什么类型
exists key 判断某个key是否存在
del key 根据value选择非阻塞删除
unlink key 判断某个key是否存在
仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作
expire key 10 10秒钟:为给定的key设置过期时间(单位是s)
ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
select 命令切换数据库
dbsize 查看当前数据库的key的数量
flushdb 清空当前库

字符串类型 - String
①. String是Redis最基本的类型,一个key对应一个value。

②. String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象

③. String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M
     String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构实现上类似于Java的ArrayList

④. 存储( set key value) 获取(get key) 删除(del key)

⑤. 其他关于String的操作指令

  • append key value 将给定的value 追加到原值的末尾
    strlen key 获得值的长度
    setnx key value 只有在key不存在时,设置key的值(分布式锁)
    incr key 将 key 中储存的数字值增1,只能对数字值操作,如果为空,新增值为1
    decr key 将 key 中储存的数字值减1,只能对数字值操作,如果为空,新增值为-1
    incrby / decrby key 步长 将key中储存的数字值增减。自定义步长
    mset key1 value1 key2 value2 同时设置一个或多个 key-value对
    mget key1 key2 key3 同时获取一个或多个value
    msetnx key1 value1 key2 value2 同时设置一个或多个key-value,当且仅当所有给定key都不存在,才会执行成功
    getrange key 起始位置 结束位置 获得值的范围,类似java中的substring,前包,后包
    setrange key 起始位置 value 用 value 覆写key所储存的字符串值,从起始位置开始(索引从0开始)。
    setex key 过期时间 value 设置键值的同时,设置过期时间,单位秒
    getset key value 以新换旧,设置了新值同时获得旧值

    ⑥. 分布式锁
    setnx key value

  • ⑦. 应用场景一:比如抖音无限点赞某个视频或者商品,点一下加一次

  • ⑧. 应用场景二:是否喜欢的文章(阅读数:只要点击了rest地址,直接可以使用incr key 命令增加一个数字1,完成记录数字)