Redis

Redis是一个基于内存的key-value结构数据库。

  • 基于内存存储,读写性能高
  • 适合存储热点数据(热点商品、咨询、新闻)
  • 对MySQL的补充

5种常用数据类型

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:

  • string 字符串
  • hash 哈希 aka 散列
  • list 字符串列表(有序,可有重复元素,类似Java中的LinkedList)
  • set 字符串集合 (无序,无重复元素,类似于Java中的HashSet)
  • sorted set / zset 有序集合(集合中每个元素关联一个分数(score),根据分数升序排序,无重复元素,排行榜)

Redis常用命令

字符串操作命令

  • SET key value
  • GET key
  • SETEX key seconds value (验证码)
  • SETNX key value (分布式锁)

哈希操作命令

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

  • HSET key field value
  • HGET key field
  • HDEL key field
  • HKEYS key
  • HVALS key

列表操作命令

  • LPUSH key value1 [value2]
  • LRANGE key start stop
    展示全部:

lrange mylist 0 -1

  • RPOP key
  • LLEN key

集合操作命令

  • SADD key member1 [member2]
  • SMEMBERS key
  • SCARD key 获取集合的成员数
  • SINTER key1 [key2] 返回给定所有集合的交集
  • SUNION key1 [key2] 返回给定所有集合的并集
  • SREM key member1 [member2] 删除集合中一个或多个成员

有序集合操作命令

  • ZADD key score1 member1 [score2 member2]
  • ZRANGE key start stop [WITHSCORES]
  • ZINCRBY key increment member
  • ZREM key member [member …]

通用命令

通用命令不分数据类型。

  • KEYS pattern 查找所有符合给定模式(pattern)的key

  • EXISTS key 检查给定key是否存在

  • TYPE key

  • DEL key

Redis Data Redis的使用

步骤:

  1. 导入Spring Data Redis的maven坐标
  2. 配置Redis数据源
  3. 编写配置类,创建RedisTemplate对象
  4. 通过RedisTemplate对象操作Redis