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)

相关推荐
咩咩啃树皮8 小时前
第43篇:Vue3计算属性(computed)完全精讲——缓存机制、依赖计算、业务最优解
前端·vue.js·缓存
kirs_ur9 小时前
ECC & LDPC — SSD 的数据卫士
服务器·数据库·性能优化
是三一seven10 小时前
Sql注入基础
数据库·安全·网络安全
Sirens.10 小时前
MySQL表设计进阶-约束范式连接索引与事务
android·数据库·mysql
字节跳动开源11 小时前
火山引擎开源 Agent 驱动的搜索自迭代技术
数据库·开源·agent
Oo大司命oO13 小时前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
_oP_i14 小时前
mysql统计数据库使用存储大小
数据库
会编程的土豆15 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
jjjava2.015 小时前
系统日志:从入门到精通的完整指南
网络·数据库
写代码的强哥15 小时前
云原生数据库与传统数据库相比“新”在哪里
数据库·云原生·架构