redis key設計技巧


把表名轉換為key前綴, 第二端放置表用於區分區key的字段–對應mysql中的主鍵的列名如userid。 
3.放置主鍵值,如1,2,3,…..,a,b,c。 
4.放要存儲的列名 
user表 userid user_name password email 1 zhangsan toor 666@abc.com

set user:userid:1:user_name zhangsan 
set user:userid:1:password toor 
set user:userid:1:email 666@abc.com 
keys user:userid:1* 

在分布式存儲時, 只對user:userid:1進行hash,只要是同一個人的信息都將hash到同一台服務器。 注意

在關系型數據中,除了主鍵外,還有可能其他列來進行查詢。 
如上表,user_name也是極其頻繁查詢的,往往這樣的列也是加了索引的。 
轉換到k-v數據中,則也要相應的生成一條按照該列為主的key-value 
set user_name:zhangsan:userid 1 
這樣,我們就可以根據user_name:zhangsan:userid,查詢出userid為1 
再根據user:userid:1:列名 
查詢出用戶的信息。 
如果經常要根據email來查詢,那么同樣的需要維護email->id的映射,雖然這樣造成了冗余,但是提升了速度,減少了時間,用空間換時間。 
空間和時間不可兼得。

以上是雲棲社區小編為您精心准備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索設計 , redis 表映射 ,以便於您獲取更多的相關知識。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM