【Redis概览】

1. 初识Redis 

1.1 Reis是什么

 Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能键值对(key-value)的NoSQL的内存数据库,可以用作缓存、消息中间件等;具有以下特点:

 1. 性能优秀,数据在内存中,读写速度非常快,支持并发 10W QPS;

 2. 单进程单线程,是线程安全的,采用 IO 多路复用机制;

 3. 丰富的数据类型,支持字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等;

 4. 支持数据持久化。可以将内存中数据保存在磁盘中,重启时加载;

 5. 主从复制,哨兵,高可用;

可以用作分布式锁。可以作为消息中间件使用,支持发布订阅;

1.2 Redis支持的功能

 1. 缓存: 提升数据的访问性能

 2. 可用作低配版的消息中间件,支持发布订阅

 3. 可用做分布式锁

 4. 可以实现session共享

1.3 与memortCach对比

对比内容

Redis

memoryCache
存储方式 Redis 支持持久化 Memcache不支持持久化,会把数据全部存在内存,很难解决缓存雪崩的问题
数据类型 Redis 支持五种数据类型 Memcache 对数据类型的支持简单,只支持简单的 key-value
底层模型 Redis 直接自己构建了 VM 机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求 调用系统
Value大小 Redis 可以达到 1GB Memcache 只有 1MB

2. Redis内存管理

                                  

2.1 redisObject

Redis对象的类型、内部编码、内存回收、共享对象等功能,都需要redisObject支持

这样设计的好处:可以针对不同场景,对5种常用的数据类型设置多种不同的数据结构实现,从而优化对象在不同场景下的使用效率;

猜你喜欢

转载自www.cnblogs.com/oxygenG/p/12813398.html