
Redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
lemon_linaa
都是小人物 别说大话了 活着就行
展开
-
缓存雪崩、缓存穿透、缓存击穿、缓存预热、缓存更新、缓存降级梳理
一、缓存使用流程 时间 事件 T1 客户端发起请求 T2 后台接收请求,先去缓存中取数据,如果取到数据直接返回数据,请求结束,如果没有取到数据,执行T3 T3 从数据库中取数据,如果取到数据更新缓存,并返回数据,如果数据库中也没有取到数据,那直接返回空结果 以上是缓存正常使用的一个请求流程,而缓存雪崩、缓存穿透、缓存击穿则是在使用缓存过程中存在的一些情况,下面将详细分析一下 二、缓存雪崩 场景:同一时间大面积的缓存数据过期(或缓...原创 2020-12-01 19:15:26 · 244 阅读 · 0 评论 -
Redis开发使用规范和建议
一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video:1 (2)【建议】:简洁性 保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如: user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mid}。 (3)【强制】:不要包含特殊字符 反例:包含空格、换行、单双引号以及其他转义字符 详细解析:http原创 2020-11-30 18:11:52 · 335 阅读 · 0 评论 -
Redis过期键删除策略
一、关于过期时间 实际应用中存在某些数据一段时间后进行清理,如用户的登录信息,用户登录的时候会保留用户登录状态,当一定时间未登录后,会自动清除登录信息,需要重新登录;短信验证码的时间限制,传统的编码方式为自己判断过期时间,时间到了删除该值,这样无疑会严重影响项目性能,如果有现成的工具可以使用,我只需要给出一个数据和一个过期时间,到时间了你去删除就行,我不用管,这种工具就是Redis,Redis中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间 redis中关于键的过期.原创 2020-11-26 19:29:33 · 877 阅读 · 0 评论 -
Redis持久化
一、Redis数据持久化流程 数据落入步骤 数据流向 客户端向服务端发起写操作 客户端的内存中 数据库服务端接收到写操作 服务端的内存中 数据库服务端将数据往磁盘上写 系统内存的缓冲区中 操作系统将缓冲区中的数据转移到磁盘控制器上 磁盘缓存中 磁盘控制器(操作系统中)将数据写到磁盘的物理介质中 磁盘中 以上是数据正常落到磁盘中的步骤,但在实际保存数据过程中,总是避免不了各种意外或故障,主要分为两种情况...原创 2020-11-26 14:20:43 · 147 阅读 · 0 评论 -
Redis的五种数据类型的简单介绍和使用
数据类型之一:String set key value 设置指定 key 的值 获取指定 key 的值 get key 获取key指定位置的值 getrange key startIndex endIndex getset key newValue 将给定 key 的值设为 value ,并返回 key 的旧值(old value),如果是新的key,则返回null MGET key1 [key2..] 一次性获取多个key的值,不存在的key返回值null ..原创 2020-11-24 18:57:34 · 411 阅读 · 0 评论