本文目录一览:
- 1、Redis和Memcache的区别总结
- 2、redis的缺点是什么?
- 3、Redis的各数据类型的内存占用
Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启后 , 数据也不会丢失 。
Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别 。Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储 。
性能 都比较高,性能对我们来说应该都不是瓶颈 。总体来讲,TPS 方面 redis 和 memcache 差不多,要大于 mongodb 。操作的便利性 memcache 数据结构单一 。
redis的缺点是什么?1、缺点:Redis只能使用单线程,性能受限于CPU性能,故单实例CPU最高才可能达到5-6wQPS每秒(取决于数据结构,数据大小以及服务器硬件性能,日常环境中QPS高峰大约在1-2w左右) 。
2、对于像Redis和Memcached这种基于内存的数据库系统来说 , 内存管理的效率高低是影响系统性能的关键因素 。
3、并不成熟 。缺点:Redis只能使用单线程,性能受限于CPU性能 , 故单实例CPU最高才可能达到5-6wQPS每秒(取决于数据结构,数据大小以及服务器硬件性能,日常环境中QPS高峰大约在1-2w左右) 。
4、不稳定 。单个redis具有不稳定性 。当redis服务死机了或者redis服务被kill掉了,就没有可用的redis服务了 。Docker是一个开源的应用容器引擎 , 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 。
5、都可以一主一从 存储数据安全--memcache挂掉后 , 数据没了;redis可以定期保存到磁盘(持久化)灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复 以上参考:PHP程序员 , 雷雪松的个人博客 。
6、那么Spring cache +redis的好处显而易见了 。既可以很方便的缓存对象,同时用来缓存的内存的是使用redis的内存 , 不会消耗JVM的内存 , 提升了性能 。
Redis的各数据类型的内存占用其中SDS的保存占用的内存如下所示:在 SDS 中,buf 保存实际数据,而 len 和 alloc 本身其实是 SDS 结构体的额外开销 。
string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB 。常用命令:get、set、incr、decr、mget等 。应用场景:规key-value缓存应用 。常规计数: 点赞数,粉丝数 。
对象内存(推荐学习:Redis视频教程)对象内存是Redis内存占用最大的一块,存储着用户所有的数据 。Redis所有数据都采用key-value数据类型,每次创建键值对时 , 至少创建两个类型对象:key对象和value对象 。
可以忽略 。而内存占用,zipList比hashTable降低极多 。
string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB 。常用命令:set、get、decr、incr、mget等 。注意:一个键最大能存储512MB 。
【redis内存清除策略 redis节约内存】mysql 数据库比较大的话 , 我们很容易就能查出是哪些表占用的空间;不过如果 redis 内存比较大的话,我们就不太容易查出是哪些(种)键占用的空间了 。
推荐阅读
- redis实现自增序号 redis自增序列
- redis307升级到509 redis3.0.7
- redis性能优化 redisscan优化
- 实体类example 实体类对象怎么存入redis
- 猫不打疫苗可以洗澡吗