Redis概念、数据结构、特点及使用场景

目录

 

1、概念

2、数据结构

3、特点优势

1.可持久化

2. 支持数据类型多

3. 性能极高

4.原子性

5.数据备份

6.特性丰富

4、使用场景

1.分布式锁

2.会话缓存

3.排行榜/计数器

4.发布/订阅


1、概念

Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。C语言编写。Redis 是单进程单线程的,Redis 利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。

2、数据结构

Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表), set(集合)及 zsetsorted set:有序集合)。

我们实际项目中比较常用的是 string,hash。 如果你是 Redis 中高级用户,还需要加上下面几种数据结构 HyperLogLog、Geo、Pub/Sub。

如果你说还玩过 Redis Module,像 BloomFilter,RedisSearch,Redis-ML。

3、特点优势

1.可持久化

   Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用

2. 支持数据类型多

   Redis不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储

3. 性能极高

   Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s

4.原子性

  Redis 的所有操作都是原子性的,意思就是要么都成功执行,要么都失败不执行。 单个操作是原子性的,多个操作也支持事        务, 即原子性, 通过 MULTI 和 EXEC指令包起来

5.数据备份

  Redis支持数据的备份,即 master-slave 模式的数据备份

6.特性丰富

  Redis 还支持 publish/subscribe,通知,key 过期等等特性

4、使用场景

1.分布式锁

可以结合Redisson来使用分布式锁,实现并发控制。参考这篇文章:Redis分布式锁(Redisson)实现原理分析

2.会话缓存

比较常用的一种使用 Redis 的情景是会话缓存(session cache)。用 Redis 缓存会话比其他存储(如 Memcached)的优势在于:Redis 提供持久化。当维护一个不是严格要求一致性的缓存时,比如购物车。当然,可以缓存会话,也可以缓存其它类型数据了,缓存一些查询频繁且变动不频繁的数据也很合适了,也是很常用的业务场景

3.排行榜/计数器

Redis 在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis 只是正好提供了这两种数据结构

4.发布/订阅

发布/订阅的使用场景比较多,Redis也支持发布/订阅功能,但是相比RabbitMQ这些专业的MQ,Redis的发布/订阅可能会丢失消息,一般不推荐使用

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值