redis key设计技巧

1: 把表名转换为key前缀 如, user:

2: 第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid

3: 第3段放置主键值,如2,3,4...., a , b ,c

4: 第4段,写要存储的列名


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


userid


username


passworde


email


9


Lisi


1111111


[email protected]

set user:userid:9:username lisi

set user:userid:9:password 111111

set user:userid:9:email   [email protected]

keys user:userid:9*

2注意:

在关系型数据中,除主键外,还有可能其他列也步骤查询,

如上表中, username也是极频繁查询的,往往这种列也是加了索引的.

转换到k-v数据中,则也要相应的生成一条按照该列为主的key-value

set user:username:lisi:uid  9

这样,我们可以根据username:lisi:uid ,查出userid=9,

再查user:userid:9:password/email...

完成了根据用户名来查询用户信息

时间: 2024-11-05 20:24:46

redis key设计技巧的相关文章

Redis key 设计技巧

1: 把表名转换为key前缀 如, tag: 2: 第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid 3: 第3段放置主键值,如2,3,4...., a , b ,c 4: 第4段,写要存储的列名 用户表 user  , 转换为key-value存储 userid username passworde email 9 Lisi 1111111 [email protected] set  user:userid:9:username lisi set  user:

17 redis -key设计原则

书签系统 create table book ( bookid int, title char(20) )engine myisam charset utf8; insert into book values (5 , 'PHP圣经'), (6 , 'ruby实战'), (7 , 'mysql运维'), (8, 'ruby服务端编程'); create table tags ( tid int, bookid int, content char(20) )engine myisam charse

redis数据库设计(转)

原文:http://segmentfault.com/q/1010000000316112 redis是什么 redis就是一个存储key-value键值对的仓库,如何使用redis在于如何理解你需要设计的系统的E-R的模型,然后合理的规划redis的数据库结构 场景 我举一个简单的消息系统的例子,业务需求:服务器端发送消息给用户E-R模型:1. 用户(uid,nickname,phone,mood)2. 消息(mid,title,content,ts) 用户和消息之间是n:n的关系,一个消息可

[精华] 数据库设计技巧

数据库设计技巧(一)  在动态网站的设计中,数据库设计的重要性不言而喻.如果设计不当,查询起来就非常吃力,程序的性能也会受到影响.无论你使用的是mySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而也会提升应用的性能.简单说来,正规化就是在表格设计时,消除冗余性和不协调的从属关系.在本文中,我将通过五个渐进的过程来告诉你在设计中应该了解的正规化技巧.从而建立一个可行而且效率高的数据库.本文也会详细分析一下可以利用的关系类型. 这里假定我们要建

阿里JAVA面试题剖析:一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?

面试原题 一般实现分布式锁都有哪些方式?使用 redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高? 面试官心理分析 其实一般问问题,都是这么问的,先问问你 zk,然后其实是要过度到 zk 关联的一些问题里去,比如分布式锁.因为在分布式系统开发中,分布式锁的使用场景还是很常见的. 面试题剖析 Redis 分布式锁 官方叫做 RedLock 算法,是 Redis 官方支持的分布式锁算法. 这个分布式锁有 3 个重要的考量点: 互斥(只能有一个客户端

用户界面设计经验分享:界面设计技巧分享

如此有用的文章我已记不得是什么时候发现的了,但在看完的那一刻便想将之翻译,分享给大家自己也受用. 时间过了很久,来到了2014年,终于静下心来花了大把时间连同图片一起译成了中文.像我这样业余的翻译六级分数只够及格的程序员,不敢说做到信雅达,但求意思到位. 1 尽量使用单列而不是多列布局 单列布局能够让对全局有更好的掌控.同时用户也可以一目了然内容.而多列而已则会有分散用户注意力的风险使你的主旨无法很好表达.最好的做法是用一个有逻辑的叙述来引导用户并且在文末给出你的操作按钮. 2 放出礼品往往更具

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Alpha-Beta剪枝

2014.07.08 22:43 简介: “搜索”与“剪枝”几乎是如影随形的.此处的“搜索”指的是带有回溯算法的深度优先搜索. 在之前的“Minimax策略”中我们给出了一个三连棋的程序,运行后你就知道计算一步棋要花多少时间. 为了计算最优的一步棋,我们可能需要递归9万多次.如果毫无疑问这种阶乘式的穷举过程必须通过剪枝来加速. 本篇介绍一种用于Minimax策略的剪枝思路——α-β剪枝. 剪枝的英语是pruning,所以不要想当然说成trimming. 图示: 在上一篇讲解Minimax策略的博

开发人员应该知道5个设计技巧

优秀的编码和优秀的UI设计之间是相辅相成的.不幸的是,视觉设计能力偏弱的人通常会觉得自己缺乏天赋,换句话说,就是人们要么觉得自己具有出众的美学天赋,要么就是这方面的白痴.对这个说法,我可不敢苟同. 如果你在一个小团队里面身兼数职,却又没有多少美学基础.又或者你觉得你们的项目在视觉上还有更多发挥的空间,那么这篇文章就是写给你的.蓝蓝设计将谈到传统的5个消除丑陋艺术设计的元素和原则(或者至少能够进行一定程度的掩盖) 1.来点留白 大多数的开发者并不在意添加空白的像页边距,填充,行高,或者其他任何增加

项目管理理论与实践(6)——利用Excel制作项目文档的设计技巧

这篇是使用的Excel 2007 进行文档设计,Excel的设计也是一门学问,这里主要介绍一些Excel的设计技巧,后面也会陆续更新该文章. 1. 固定某行某列 首先设计这样的任务管理文档: 现在我想保持第一行以及前两列是保持固定.那么,我首先需要选定一个单元格,而这个单元格的左上角就是文档行列分割固定点.如图所示: 这里我选定的单元格是C2,然后选择"视图"-> "窗口" –> "冻结窗格" 这里选择"冻结拆分窗格&quo