6、Redis-KV设计、全局命令和安全性

目录

一、value设计

二、Key设计

三、全局命令------针对所有key

四、安全性


一、value设计

①是否需要排序?需要:Zset

②需要缓存的数据是单个值还是多个值?

  • 单个值:简单值---String;对象值---Hash
  • 多个值:允许重复---List;不允许重复---Set

另一种方案:需要排序使用Zset,否则一律使用String【所有对象都转换为json格式字符串存储】


二、Key设计

1、唯一性:同一个key,后续缓存的会覆盖之前缓存的。因此,通常使用数据主键作为key。

2、可读性。可读性前缀。

3、灵活性。一个主键不能明确表达意思时,可以使用联合主键。

4、时效性。设置过期时间。


三、全局命令------针对所有key

|--------------------|-----------------------------------------------------------------------------------------------------------------------|
| 格式 | 含义 |
| keys pattern | 按照pattern匹配规则,列出redis中所有匹配的key 如: ①keys *:获取所有key【不建议,Redis是单线程,这样做会比较耗时】 ②keys employee_id*:获取所有前缀为employee_id的key |
| exists key | 判断key是否存在 |
| expire key seconds | 给现有的key设置过期时间 |
| persist key | 取消key的过期时间 |
| select index | 切换数据库【默认16个数据库,因此index为0-15】 |
| move key db_index | 将当前数据库中的key移动到另一个数据库db_index,如果db_index已经存在同名key则移动失败 |
| randomkey | 从当前数据库中随机返回一个 key |
| rename key newkey | 对key重命名,key不存在则会报错 |
| echo message | 打印字符串message |
| dbsize | 获取当前数据库中key的数量 |
| info | 获取redis相关信息 |
| config get * | 查看redis配置信息 |
| flushdb | 清空当前数据库 |
| flushall | 清空所有数据库 |


四、安全性

由于Redis速度很快,因此密码可能被暴力破解。

这是设置Redis密码的方式:redis设置密码并修改查看的几种方式 - 掘金 (juejin.cn)

相关推荐
龙腾AI白云2 小时前
仿真到现实(Sim-to-Real)迁移:跨越仿真与现实鸿沟
数据库·机器学习·plotly·知识图谱·tornado
freejackman5 小时前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql
.痞老板.6 小时前
mysql初阶--增删改查操作
数据库·mysql
FungLeo7 小时前
成为全栈·基础补充·缓存的层次与失效:浏览器、CDN、服务端、数据库
缓存·cdn·数据一致性·http缓存·成为全栈·flutter缓存
我不会起名字32210 小时前
Redis 从 0 到 1(三十三):机器断电 Redis 起不来——AOF/RDB 损坏的 4 步抢救流程
redis·数据恢复·aof·rdb·排查
lambo mercy11 小时前
AI智能租房助手
数据库
浮生若城12 小时前
MySQL:库与表的操作
数据库·mysql
薛定谔的悦12 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
数字新视界12 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
code2cat13 小时前
【随笔】KV缓存量化:省下的显存,要付出多少数值误差
人工智能·缓存·大语言模型