【一】Redis简单介绍

简介

Redis简单来说就是一个NoSQL数据库,不过与传统数据库不同的是redis将数据存储在内存中,读写速度非常快,因而redis被广泛应用于缓存方向。另外,redis也经常用来做分布式锁。同时,Redis也提供了多种数据类型来支持不同的业务场景。除此之外,Redis也支持事务持久化LUA脚本LRU驱动事件多种集群解决方案等。

为什么要用 redis /为什么要用缓存

使用redis解决了什么问题?

用户第一次访问数据库中的某些数据时,这个过程可能会比较慢。

如何解决的?有什么好处呢?

【高性能】使用redis可以将用户第一次访问的数据存储在缓存中,这样用户再次访问这些数据的时候就可以直接从缓存中获取,操作缓存就是直接操作内存,所以速度比较快。如果数据库中的数据发生改变,同步改变缓存中相应的数据即可!
高性能
【高并发】直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。
高并发

为什么要用 redis 而不用 map/guava 做缓存?

缓存分为本地缓存分布式缓存

以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着 jvm 的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。

使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持 redis 或 memcached服务的高可用,整个程序架构上较为复杂。

redis 和 memcached 的区别

  • redis 拥有更丰富的数据类型,可以支持更复杂的应用场景,redis 不仅支持简单的k/v类型的数据,同时还提供了list、set、zset、hash等类型的数据;memcached只支持简单的字符串类型的数据;
  • redis 支持数据的本地持久化,可以将内存中的数据保存在本地磁盘中,重启的时候可以再次加载进行使用;memcached 不支持数据的本地持久化,数据全部保存在内存中;
  • redis 原生支持集群模式;memcached需要依靠客户端实现往集群中分片写入数据来支持集群模式;
  • redis 使用单线程的多路 IO 复用模型;memcached是多线程,非阻塞IO复用的网络模型。

参考链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值