关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Redis数据库入门

发布时间:2023-06-27 12:00:58

什么是Redis?


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

基于内存存储,读写性能高

适合存储热点数据

他存储的value类型比较丰富,也被称为结构化的NoSql数据库

NoSql,泛指非关系型数据库,是关系型数据库的补充

redis的应用场景:缓存,任务队列,消息队列,分布式锁


Redis的数据类型


Redis存储的是key-value型的数据,其中key是字符串类型。

value有五种常用的类型:字符串string,哈希hash,列表list,集合set,有序集合sorted set。


Redis常用命令


string


SET key value 设置指定key的值

GET key 获取指定key的值

SETEX key seconds value 设置指定的key值,并将key的过期时间设为seconds秒

SETNX key value 只有在key不存在时设置key的值


hash


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

常用命令:

HSET key field value  将哈希表key中的字段field的值设为value

HGET key field   获取存储在哈希表中的指定字段的值

HDEL key field    删除存储在哈希表中的指定字段

HKEYS key   获取哈希表中的所有字段

HVALS key   获取哈希表中的所有值

HGETALL key  获取哈希比表中指定key的所有字段和值


列表list


注:类似队列,先进先出

LPUSH key value1 [value2]  将一个或多个值插入到爹表头部

LRANGE key start stop   获取列表指定范围内的元素

RPOP key    移除并获取列表的最后一个元素

LLEN key    LLEN key  获取列表长度

BRPOP key1 [key2] timeout  BRPOP key1  [key2]  timeout

移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。


set


redis set是string类型的无序集合。集合成员是唯一的。

常用命令:

SADD key member1 [member2]  向集合添加一个或多个成员

SMEMBERS   key  返回集合中所有成员

SCARD key   获取集合的成员数

SINTAB key1 [key2]  返回给定集合的交集

SUNION key1 [key2]   返回给定集合的并集

SDIFF key1 [key2]   返回给定集合的差集

SREM key member1 [member2]  移除集合中的一个或多个成员


sorted-set


redis sorted-set有序集合是string类型元素的集合,没有重复成员。每个元素会关联一个double类型的分数(score)。redis正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一,但是分数可以重复

常用命令:

ZADD key score1 member1 [score2 member2]  向集合添加一个或多个成员

ZRANGE key start stop [withscore]  通过索引区间返回有序集合中指定区间内的成员

ZINCRBY  key increment member  有序集合中指定成员的分数加上量increment

ZREM key member [member]  移除有序集合中一个或多个成员


通用命令


keys pattern      查找所有符合给定模式的key  

exists key        检查给定key是否存在

ttl key              返回key的剩余生存时间(TTL,time to live),以秒为单位

del key            该命令用于在key存在时删除key


在Java中使用redis


spring data redis中提供了一个高度封装的类:RedisTemplate,针对jedis客户端中大量的api进行了归类封装,将同一类型的操作封装为operation接口。

具体分类如下:

ValueOperations:   简单K-V操作

SetOperations      set类型数据操作

ZSetOperations    zset类型数据操作

HashOperations   针对map类型的数据操作

ListOperation        针对List类型的数据操作


/template/Home/leiyu/PC/Static