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)

相关推荐
m0_613856293 小时前
mysql如何利用事务隔离级别解决特定业务冲突_mysql隔离方案选型
jvm·数据库·python
Adios7943 小时前
VPR:Pitts50K和Norland数据集下载
数据库
东风破1373 小时前
DM用户权限、表、约束等对象的基本操作,SQL日志的开启介绍
数据库·sql·dm达梦数据库
收获不止数据库3 小时前
达梦9发布会归来:AI 时代,我们需要一款什么样的数据库?
数据库·人工智能·ai·语言模型·数据分析
小宇的天下4 小时前
Virtuoso GUI 界面中的关键模块定义
数据库
bqq198610264 小时前
MySQL 5.7 与 MySQL 8.0 的主要区别
数据库·mysql
Elastic 中国社区官方博客4 小时前
Elastic-caveman : 在不损失 Elastic 最佳效果的情况下,将 AI 响应 tokens 减少64%
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
Deepincode5 小时前
Redis源码探究系列—跳表(skiplist)源码实现详解
redis
互联网推荐官5 小时前
上海软件定制开发全流程拆解:需求分析、技术选型与交付管理的工程实践
大数据·数据库·需求分析
专注API从业者5 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库