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)

相关推荐
GreatSQL几秒前
GreatSQL优化技巧:手动实现谓词下推
数据库
小云数据库服务专线6 分钟前
GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SPM
数据库·数据库架构·gaussdb
创思通信11 分钟前
4G模块 EC200通过MQTT协议连接到阿里云
数据库·物联网·mqtt·阿里云·at·ec200a
DDC楼宇自控与IBMS集成系统解读44 分钟前
BA 楼宇自控系统 + AI:重构楼宇设备管理的 “智能决策” 体系
大数据·网络·数据库·人工智能·3d·重构
JIngJaneIL1 小时前
家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家庭事务管理系统
qq_396242981 小时前
【tomcat管理session,配置redis来管理session实现多个tomcat共享,原因是tomcat配置redis配置账号或者密码错误等】
java·redis·tomcat
Jacob02342 小时前
为什么那么多人说大数据只是写SQL?
数据库·后端·sql
小蒜学长2 小时前
家庭财务规划与投资系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
piikee2 小时前
php内存缓存插件yac的安装配置--平替apcu,多进程共享内存
开发语言·缓存·php·yac·php扩展·php内存缓存·apcu平替
DemonAvenger3 小时前
MySQL性能调优实战:慢查询分析与SQL优化全攻略
数据库·mysql·性能优化