一、redis 五大基本数据类型
字符串(String)、哈希(Hash)、列表(list)、集合(set)、有序集合(zSet)
通用命令
EXPIRE key seconds //为给定 key 设置过期时间,以秒计。
FLUSHALL // 清空所有库的内容
ttl key // 查看剩余时间
1、字符串(String)
字符串是可以关联的最简单的值类型,存储字节序列,包括文本、序列化对象和二进制数组。
set k v //设置指定 key 的值。
get k //获取指定 key 的值。
getset k v //将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
setnx k v //只有在 key 不存在时设置 key 的值。
strlen k //返回 key 所储存的字符串值的长度。
INCR key //将 key 中储存的数字值增一。
incrby key increment //将 key 所储存的值加上给定的增量值increment
decr key // 将 key 中储存的数字值减一。
2、哈希(Hash)
哈希是结构为字段值对集合的记录类型
hexists key field //查看key中的字段是否存在
HGET key field //获取存储在哈希表中指定字段的值。
HSET key field value //将哈希表 key 中的字段 field 的值设为 value 。
HSETNX key field value //只有在字段 field 不存在时,设置哈希表字段的值。
HKEYS key //获取哈希表中的所有字段
HVALS key //获取哈希表中所有值。
HGETALL key //获取在哈希表中指定 key 的所有字段和值
HINCRBY key field increment //为哈希表 key 中的指定字段的整数值加上增量 increment 。
3、列表(list)
Redis 列表是字符串值的链表。 Redis 列表经常用于:
- 实现堆栈和队列。
- 为后台工作器系统构建队列管理。
LPUSH key value1 [value2] //将一个或多个值插入到列表头部
LPOP key //移出并获取列表的第一个元素
LLEN key //获取列表长度
LPUSHX key value //将一个值插入到已存在的列表头部
LRANGE key start stop //获取列表指定范围内的元素
LSET key index value //通过索引设置列表元素的值
RPOP key //移除列表的最后一个元素,返回值为移除的元素。
RPUSH key value //从列表最后添加元素
4、集合(set)
是唯一字符串(成员)的无序集合。 可以使用有效地执行以下操作:
- 跟踪唯一项目(例如,跟踪访问给定博客文章的所有唯一 IP 地址)。
- 表示关系(例如,具有给定角色的所有用户的集合)。
- 执行常见的集合运算,例如交集、并集和差分。
SADD key member1 [member2] //向集合添加一个或多个成员
SCARD key //获取集合的成员数
sismember key member //判断 member 元素是否是集合 key 的成员
SMEMBERS key // 返回集合中的所有成员
SDIFF key1 [key2] // 返回第一个集合与其他集合之间的差异。
SDIFFSTORE destination key1 [key2] //返回给定所有集合的差集并存储在 destination 中
sinter key1 key2 // 取交集
SINTERSTORE destination key1 [key2] // 返回给定所有集合的交集并存储在 destination 中
SUNION key1 [key2] //返回所有给定集合的并集
SUNIONSTORE destination key1 [key2] // 所有给定集合的并集存储在 destination 集合中
5、有序集合(zSet)
有序集合 是按关联分数排序的唯一字符串(成员)的集合。 当多个字符串具有相同的分数时,这些字符串将按字典顺序排序。 排序集的一些用例包括:
- 排行榜。例如,您可以使用排序集来轻松维护大型在线游戏中最高分的有序列表。
- 速率限制器。具体而言,您可以使用排序集来构建滑动窗口速率限制器,以防止过多的 API 请求。
ZADD key score1 member1 [score2 member2] //向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZRANGE key start stop [WITHSCORES] // 通过索引区间返回有序集合指定区间内的成员(0,-1返回所有,加WITHSCORES 返回信息带分数)
ZCOUNT key min max // 计算在有序集合中指定区间分数的成员数(前闭后闭)
ZINCRBY key increment member // 有序集合中对指定成员的分数加上增量 increment
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] //通过分数返回有序集合指定区间内的成员
ZRANK key member //返回有序集合中指定成员的索引
ZREM key member [member ...] //移除有序集合中的一个或多个成员
zremrangebyscore key min max //移除有序集合中给定的分数区间的所有成员
zscore key score // 返回成员的分数值
zrevrank key member //返回指定成员的排名,(从大到小)排序
ZREVRANGE key start stop [WITHSCORES] //返回指定区间内的成员,分数从高到低
ZREVRANGEBYSCORE key max min [WITHSCORES] //返回指定分数区间内的成员,分数从高到低
二、使用Java操作Redis方式
1、使用Spring Data
SpringBoot中集成Redis(RedisTemplate)-CSDN博客