1. 把表名转换为key前缀, 比如: tag:
  2. 第二段放置用于区分key的字段--对应mysql中的主键的列名
  3. 第三段放置主键值
  4. 第三段写列名

用户表user, 转换为redis的key-value存储

userid username password email
9 Lisi 111111 lisi@163.com

比如:

127.0.0.1:6379> set user:userid:9:username lisi
OK
127.0.0.1:6379> set user:userid:9:password 111111
OK
127.0.0.1:6379> set user:userid:9:email lisi@163.com
OK
127.0.0.1:6379>
127.0.0.1:6379> keys user:userid:9*    #查找有几个属性
1) "user:userid:9:password"
2) "user:userid:9:username"
3) "user:userid:9:email"
127.0.0.1:6379> 

注意: 实际中经常要通过username来查找信息, 只能通过再建立一个对应关系

127.0.0.1:6379> set user:username:lisi:userid 9    #建立一个username和userid对应的表
OK
127.0.0.1:6379>
127.0.0.1:6379> get user:username:lisi:userid    #获取到userid
"9"
127.0.0.1:6379>
127.0.0.1:6379> keys user:userid:9*    #通过userid找到所有键
1) "user:userid:9:password"
2) "user:userid:9:username"
3) "user:userid:9:email"
127.0.0.1:6379>
127.0.0.1:6379> get user:userid:9:email    #获取其它键的信息
"lisi@163.com"
127.0.0.1:6379> 

如果要通过email查询, 只能再维护

127.0.0.1:6379> set user:email:lisi@163.com:userid 9
OK
127.0.0.1:6379> get user:email:lisi@163.com:userid
"9"
127.0.0.1:6379> keys user:userid:9*
1) "user:userid:9:username"
2) "user:userid:9:email"
3) "user:userid:9:password"
127.0.0.1:6379>

转载于:https://www.cnblogs.com/qlshine/p/5962229.html

Redis-key的设计技巧相关推荐

  1. Redis入门——3.Redis key的设计技巧

    Redis key的设计技巧 一,key设计原则 把表名转换为key前缀, 比如: tag: 第二段放置用于区分key的字段–对应mysql中的主键的列名 第三段放置主键值 第三段写列名 二,案例 用 ...

  2. Redis Key 统一管理技巧

    背景 我们的项目中可能存在多种业务场景需要接入 redis 缓存,在插入缓存时需要设置 key,如果这个 key 散落在项目的各个业务代码中的话,会给后期维护带来很大的不便.所以我建议把系统中用到缓存 ...

  3. 17 redis -key设计原则

    书签系统 create table book ( bookid int, title char(20) )engine myisam charset utf8;insert into book val ...

  4. Redis key前缀的设计与使用

    阅读目录 采用模板方法模式进行设计前缀空间 RedisPrefixKey 接口 RedisBasePrefixKey 抽象类 UserKey 实现类(自定义) 改造RedisUtil工具类的方法 具体 ...

  5. Redis基础,Linux下安装Redis和hredis,C++调用Redis,Redis中字符串设计

    文章目录 一.Redis是什么 Redis架构 Redis优势 Redis应用场景 二.Linux下载安装Redis(Ubuntu系统) 了解Redis版本 在线安装Redis 启动Redis服务端 ...

  6. 因 Redis Key 命令不规范,导致熬了一个通宵才把Key删完了!

    来源:http://dwz.date/cmSG 前言 由于有一条业务线不理想,高层决定下架业务.对于我们技术团队而言,其对应的所有服务器资源和其他相关资源都要释放.释放了8台应用服务器: 1台es服务 ...

  7. 【Redis】6.Redis key通用指令以及数据库的通用操作

    key通用指令 key特征 key是一个字符串,通过key获取redis中保存的数据 key应该设计那些操作? 对于key自身状态的相关操作,例如:删除,判定存在,获取类型等 对于key有效性控制相关 ...

  8. ReviewForJob——算法设计技巧(贪婪算法+分治算法+动态规划)

    [0]README 1)本文旨在介绍算法设计技巧包括 贪婪算法.分治算法.动态规划 以及相关的荔枝等: [1]贪婪算法 1)intro: 贪婪算法是分阶段进行的,在每个阶段,可以认为所做的决定是最好的 ...

  9. 同程旅行王晓波:同程凤凰缓存系统在基于 Redis 方面的设计与实践(上篇)

    王晓波 同程旅行机票事业群 CTO 读完需要 12 分钟 速读仅需 4 分钟 本章和大家分享一下同程凤凰缓存系统在基于 Redis 方面的设计与实践.在本章中除了会列举我们工作过程中遇到各种问题和误区 ...

  10. redis专题:redis键值设计、性能优化以及redis连接池配置

    文章目录 1.redis键值设计 ①:key设计规范 ②:value设计规范 2. 命令使用优化 3. redis连接池配置参数设计 4. redis连接池预热 5. redis的key过期删除策略 ...

最新文章

  1. python哨兵循环_Python通用循环的构造方法实例分析
  2. 轻量级目标检测大合集
  3. python:程序猿的方式在元宵佳节之际,带你设计【东方明珠】动画浪漫烟花秀(python编程利用Tkinter+PIL库)
  4. Android中BroadCastReceiver使用(整理)
  5. 安卓手机系统可删除的自带软件大集合
  6. Azure 内容审查器之文本审查
  7. 面试官:使用SpringBoot如何开发邮件发送系统?
  8. python连接wws协议和http协议时ssl验证失败
  9. 南开大学20春计算机应用基础,南开大学-2020春学期《计算机应用基础》在线作业.txt.pdf...
  10. CSDN送你互联网大厂面试机会啦!
  11. 第15届Pwn2Own大赛确定目标和奖金
  12. vue中将汉字按照首字母排序,也适用于其他地方,但不适用多音字
  13. 三维重建笔记_多视几何_求基本矩阵F_六/七/八点法_误差评估
  14. Excel 公式CORREL算出相关系数
  15. GprMax2D ——ABC(吸收边界条件)相关命令
  16. JAVA使用POI导出设置列格式为文本格式
  17. 使用xcelsius创建令人惊叹的幻灯片 --xcelsius入门
  18. Opencv创建纯色图
  19. eclipse制作app入门教程
  20. element ui中table合并相同内容单元格

热门文章

  1. SpringMVC 整合Redis
  2. springboot 多环境配置文件
  3. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_05-freemarker基础-List指令
  4. LOJ#2343. 「JOI 2016 Final」集邮比赛 2
  5. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_01.mybatis课程介绍
  6. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_3_方法引用_通过类名引用静态成员...
  7. c++builder Form重载WindowProc、WndProc 截获消息
  8. codeforces 493 D Vasya and Chess【 博弈 】
  9. c# Invalidate() Update() Refresh()的区别
  10. SQL常见错误及处理方法