redis备忘录| 青训营笔记

50 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天

基本命令

redis 默认为 16 个库,redis 默认自动使用 0 号库 .

  • ping
  • dbsize
  • select db
  • flushdb
    • 删除当前数据库的所有数据
  • exit或者quit

key的操作命令

  • keys pattern
    • *表示任意字符 ,?表示单个字符
  • expire key seconds
    • 设置key的过期时间
  • ttl key
    • 查看剩余生存时间
  • type key
  • del key [key…]
  • exists key [key…]
    • 返回存在的key的数量

数据类型操作命令

字符串类型string

字符串类型是 Redis 中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据,序列化后的数据,JSON 格式数据。

  • set key value
  • get key
  • incr key
  • decr key
  • append key value
    • 如果 key 存在,则将 value 追加到 key 原来旧值的末尾 如果 key 不存在,则将 key 设置值为 value 返回值:追加字符串之后的总长度
  • strlen key
  • getrange key start end
    • 负数表示从字符串的末尾开始,-1 表示最后一个字符
  • setrange key offset value
  • mset key value [key value…]
    • 同时设置一个或多个 key-value 对
  • mget key [key …]

哈希类型hash

redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

  • hset hash
  • hget key field
    • 获取哈希表 key 中给定域 field 的值
  • hmset key field value [field value…]
  • hmget key field [field…]
  • hgetall key
  • hdel key field [field…]
  • hkeys key
    • 查看哈希表 key 中的所有 field 域
  • hvals key
  • hexists key field
    • 查看哈希表 key 中,给定域 field 是否存在 返回值:如果 field 存在,返回 1,其他返回 0

列表list

  • lpush key value [value…]
  • rpush key value [value…]
  • lrange key start stop
  • lindex key index
  • llen key
  • lrem key count value
    • 根据参数 count 的值,移除count个 列表中与参数 value 相等的元素,count >0 ,从列表的左侧向右开始移除;count < 0 从列表的尾部开始移除;count = 0 移除表中所有与 value 相等的值。 返回值:数值,移除的元素个数
  • lset key index value
  • linsert key BEFORE|AFTER pivot value
    • 将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key 不存在,pivot不在列表中,不执行任何操作。 返回值:命令执行成功,返回新列表的长度。没有找到 pivot 返回 -1, key 不存在返回 0

集合类型set

是 string 类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据

  • sadd key member [member…]
  • smembers key
    • 获取集合 key 中的所有成员元素,不存在的 key 视为空集合
  • sismember key member
  • scard key
    • 获取集合里面的元素个数
  • srem key member [member…]
  • srandmember key [count]
    • 只提供 key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了 count时,count 正数, 返回包含 count 个数元素的集合,集合元素各不相同。count 是负数,返回一个 count 绝对值的长度的集合,集合中元素可能会重复多次
  • spop key [count]
    • 随机从集合中删除一个元素, count 是删除的元素个数

有序集合类型zset

有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。

  • zadd key score member [score member…]
  • zrange key start stop [WITHSCORES]
  • zrevrange key start stop [WITHSCORES]
  • zrem key member [member…]
  • zcard key
  • zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
  • zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]
  • zcount key min max