
redis
文章平均质量分 90
redis
Instanceztt
这个作者很懒,什么都没留下…
展开
-
(六) Redis缓存读写策略
Redis 和 MySQL 的更新策略用的是 Cache Aside,另外两种策略主要应用在计算机系统里。原创 2022-12-12 10:24:05 · 754 阅读 · 0 评论 -
(五)Redis内存淘汰机制
对于定时删除:由于数据库可能同时接受成千上万的个用户的访问,那么可能有大量的key需要删除,如果我们为每一个key的超时时间都设置一个定时器,每次超时就进行删除操作,那么会导致系统的性能非常低对于惰性删除:如果一个key长期没被访问,那么改key-value会一直存在数据库中,会一直占用内存,而redis又是一个基于内存的数据库,这样容易导致内存被耗尽对于定期删除: Redis难以确定执行删除操作的时长和频率因此Redis采用的是惰性删除和定期删除相结合的方式,来删除系统中的过期键。原创 2022-12-09 17:17:17 · 1196 阅读 · 0 评论 -
(四)Redis的持久化
因为Redis数据是基于内存读写,为防止Redis服务器关闭或者宕机造成数据的丢失,我们通常需要对redis做持久化,即:把内存中的数据(命令)保存一份到磁盘中来做一份备份,当redis服务关闭或宕机后,在Redis服务器重启后将数据从磁盘加载到内存中,不至于造成数据的丢失。Redis提供了两种持久化方式RDB和AOF,可以通过修改redis.conf来配置,开启Redis持久化后,在redis的安装目录会看到持久化文件:“”和“dump.rdb”原创 2022-12-09 15:15:50 · 490 阅读 · 0 评论 -
(三)Redis的其他小功能
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。开始事务。命令入队。原创 2022-12-08 17:10:38 · 539 阅读 · 0 评论 -
(二) Redis的常用API的理解和使用
结构:key 是字符串,value 可以是字符串、数字字符串、json 串,本质上 value 都是二进制,最大不能超过 512MB 使用场景: 缓存 计数器 分布式锁 API结构: key-value,value 类型是一堆的 key-value(field-value),类似“Mapmap”类型。 使用场景: 比如记录每个用户个人主页的访问量 API:都是以“h”开头结构:key-elements,elements是一个队列,,左右两边插入弹出 使用场景:消息队列 文章列表 API:都是以“l”、“r”原创 2022-12-08 14:11:30 · 194 阅读 · 0 评论 -
(一)初始redis
Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、。注意:因为是单线程,同一时间只运行一条命令,所以它,单线程对于每个命令的执行时间是有要求的。如果命令执行过长,会造成其他命令的阻塞,对于 Redis 这种高性能的服务来说是致命的。原创 2022-12-08 10:54:41 · 278 阅读 · 0 评论