Redis与MemCache

主流缓存框架


1,EHcache(二级缓存默认就是它 框架默认demo配置二级缓存就是它,但是单机版。)
但是我们是用大型项目分布式集群的环境。


2,MemCache分布式(统治缓存10年 非常之多的企业还在使用 缺点:1.支持只有string
 没有数据类型 ) 2.完全基于内存。
 (缓存为什么快呢?是因为基于内存,而不用去查询数据库 所以才快。内存特性:
 服务器可能会宕机,就会造成服务器数据遗失,丢失。
 缓存的数据是来自数据库,用户第一次访问如果缓存中没有,去数据库找,找到后,将结果放入缓存中,
 然后返回给用户,用户第二次判断缓存中有数据,直接返回用户。)
 从上面的缓存机制可以看出,数据即使丢失,也可以去数据库找。
 但丢失也有问题。假设:内存缓存有大数据,600MB数据。如果宕机了。
 这600m的数据就丢失了。
 重启服务器,用户去访问,判断缓存中没有,就去数据库,给数据库带来一定访问压力。
 如果压力不大,还是可以的。 查询完,在往缓存保存一份然后返回用户。
 但会造成致命问题:严重问题 雪崩。数据量太大了。 缓存压力大,挂了,造成数据库压力大,也挂了。
 
 MemCache数据只存在内存中,数据不落地。而且恢复只能去数据库找。
 
3,Redis分布式() 支持类型更加丰富(string,hash(哈希类型),set list(链表),
zset(有序集合)但还是比java要少。2.数据支持内存也支持落地。redis完败MemCache)
 支持数据定时备份,备份落地。 redis解决雪崩,从磁盘恢复数据,而不是从数据库中。
 自动去磁盘中找数据进行恢复备份。这个可以去磁盘找,恢复快。不用建立数据库连接链接,直接再磁盘通过key-value来查找。


任何语言要想运行速度就是有标准c语言写。而redis正是如此。
支持分布式,也把redsis/memcache称作内存数据库。
它的值是通过key去检索,把值放入value当中。
类似于map结构,也叫no-sql(关系型数据库的补充--->称非关系型数据库。)
性能最高。


最早的项目: LLOOGG日志管理 VMware公司收购了。(我们使用的虚拟机)
push/pop add/remove 操作都是原子性 保证了高并发时的数据安全。
为了保证效率数据都存储在内存中。


redis和MemCache 区别。都是内存数据库
MemCache它支持类型没有redis丰富
MemCache它数据不落地,而redis支持数据定时存储在磁盘上。
MemCache它内存是多线程,redis是单线程。(谁快呢?在小并发时是看不到差别的。 差异在哪里呢?但是数据如果再多,redis就可以使用多实例 )
redis速度:两个指标 写 每一秒5万条(跟ngaix差不多 它也是5/w) 读每一秒2万
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值