首页 > 数据库 >Redis作为缓存和作为数据库的区别

Redis作为缓存和作为数据库的区别

时间:2022-09-19 01:22:12浏览次数:81  
标签:缓存 过期 数据库 Redis lru volatile

Redis又被叫做Nosql,非关系型数据库,由于Redis作用于内存上,所以又可以被当作是缓存,那么Redis当作缓存和数据库的区别就是:

技术服务于业务逻辑,所以,选择Redis作为什么,还是要根据具体的业务,如果将Redis当作缓存使用,我们可以通过redis将我们的热数据缓存下来,当下次查询的时候,可以直接从缓存中取出,大大增加了查询的效率,降低了数据库的使用

Redis作为缓存,其中可以设置缓存的大小,也可以设置缓存key的过期时间,而且也可以设置针对过期时间所做的淘汰策略

Redis的淘汰策略有:

1.noeviction
此策略不会清理缓存,而是当满了的时候拒绝其他的访问,这点可以将他用在redis当数据库这方面,可以保证数据的安全性和完整性
2.volatile-random
缓存满了之后,对设置过过期时间的key执行随机删除,不建议使用,达不到效果
3.volatile-ttl
缓存满了之后,针对设置了过期时间的key,然后通过对ttl的计算,把最早过期的删除掉,如果作为缓存,这个方法不适用
4.volatile-lru
缓存满了之后,针对设置了过期时间的键值对,根据过期时间,通过lru的算法去将数据淘汰掉
5.volatile-lfu
缓存满了之后,针对设置了过期时间的键值对,根据过期时间,使用lfu的算法淘汰数据
6.allkeys-random
缓存满了之后,随机删除key
7.allkeys-lru
缓存满之后,使用lru算法去删除需要删除的键
8.allkeys-lfu
缓存满了之后,使用lfu算法删除需要删除的键。

allkeys-lru和volatile-lru的区别在于,allkeys是针对的整个的缓存数据库,并不考虑过期时间,只要缓存满了,就去根据使用次数最少的清理掉,volatile则是根据过期时间,查找到使用次数最少的,然后淘汰掉

标签:缓存,过期,数据库,Redis,lru,volatile
From: https://www.cnblogs.com/itqwb/p/16706416.html

相关文章

  • [开源福利] FreeRedis 历时两年正式发布 v1.0 [C#.NET Redis Client]
    最近很多.netQQ群无故被封停,特别是wpf群几乎全军覆没。依乐祝的.net6交流群,晓晨的.net跨平台交流群,导致很多码友流离失所无家可归,借此机会使用一次召唤术,有需要的......
  • Redis缓存穿透
    Redis缓存穿透:缓存穿透定义:当访问者搜索了redis也不存在,数据库也不存在的key的时候,这个时候,就会产生了缓存穿透,将查询压力放到了数据库中解决方案:使用布隆过滤器......
  • 【博学谷学习记录】超强总结,用心分享|狂野架构师Redis双写一致性、延迟双删策略
    目录Redis数据双写一致性1、先更新缓存,后更新数据库3、并发下先删除缓存,后更新数据库4、并发下先更新数据库,后删除缓存常用方案:延迟双删策略。Redis数据双写一致性缓存......
  • 一级缓存与二级缓存
    ​ /**作者:呆萌老师*☑csdn认证讲师*☑51cto高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里......
  • 数据库设计
    任务一、业务描述图书管理员功能:(一)图书管理功能:1.对图书库中的图书入库操作2.删除图书库中的图书3.查询图书库中的图书4.修改图书编号或类别(二)信息维护功能:1.查看......
  • Redis详细教程笔记
    1.目录2.待更新:集群环境搭建、订阅发布、哨兵机制、主从复制、缓存雪崩与穿透3.笔记链接:https://t.wss.ink/f/9bktugzrk5n复制链接到浏览器打开(过期联系:QQ:8108062......
  • Room数据库(以book类为例)
    使用Room实体定义数据|Android开发者|AndroidDevelopers(google.cn)在build.gradle中加入以下引用//roomdefroom_version="2.4.3"implementation"andro......
  • SQL数据库语句执行顺序
    数据库查询语句完整的执行顺序:逻辑查询处理阶段简介:1、FROM:对FROM子句中的前两个表执行笛卡尔积(交叉联接),生成虚拟表VT1。2、ON:对VT1应用ON筛选器,只有那些使......
  • index.html (Apache) 的正确缓存清除
    index.html(Apache)的正确缓存清除来自CompetaIT档案;BastiaanDressen于2018年2月22日首次发表。部署JavaScript应用程序的一种方法是使用一些构建工具(......
  • 【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解
    “谈谈你对Redis的理解”!面试的时候遇到这类比较宽泛的问题,是不是很抓狂?是不是不知道从何开始说起?没关系,今天我用3分钟教你怎么回答。大家好,我是Mic,一个工作了14年的......