缓存的意义
缓存存在的意义:
1.减轻数据库压力
2.提升接口的性能
3.缓解服务器压力(不用每次去请求资源);
4.提升性能(打开本地资源速度当然比请求回来再打开要快得多);
5.减少带宽消耗
例如:我有1000个参数相同的请求,如果没有缓存,就会对访问1000次数据库,会给数据库造成很大的压力,如果用缓存,会减轻数据库的负担,提高程序的性能
缓存的分类
缓存分为三种
第一种:本地缓存:存在于客户端,例如说微信的聊天记录(聊天记录非常适合用本地缓存),注意:用本地缓存的时候,应该注意安全性。
第二种:服务器缓存(例如Guava),存在于jvm堆里面,底层数据结构是HashMap,key-value键值对的形式。
第三种:分布式缓存(redis),服务器集群共用一个缓存。

redis做缓存的优势
redis不只是可以做缓存,只是大部分应用场景是缓存
①有丰富的数据类型
Redis将其数据完全保存在内存中,仅使用磁盘进行持久化。与其它键值数据存储相比,Redis有一组相对丰富的数据类型。Redis可以将数据复制到任意数量的从机中。
②异常快
Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型 ,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
③操作具有原子性,例如我们在分布式id生成时可以借助redis,由于incr操作具有原子性,所以id永远不会重复。
所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
④Redis是一个内存数据库,但在磁盘数据库上是持久的,因此它代表了一个不同的权衡,在这种情况下,在不能大于存储器(内存)的数据集的限制下实现非常高的写和读速度
⑤redis支持多种数据结构,Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储
⑥Redis支持master-slave(主-从)模式应用
⑦Redis单个value的最大限制是1GB,memcached只能保存1MB的数据。
缓存对于减轻数据库压力、提升接口性能和减少带宽消耗具有重要意义。本地缓存如微信聊天记录,服务器缓存如Guava,分布式缓存如Redis,各有其应用场景。Redis以其丰富的数据类型、高速操作、原子性、持久性和主从模式等优势广泛用于缓存解决方案。

956

被折叠的 条评论
为什么被折叠?



