您的位置:首页 > 数据库 > Redis

redis 应用场景及使用案例

2015-02-10 15:40 585 查看
首先,你要对Redis有非常详尽的了解,包括常用命令,基本的数据结构String, Hash,List,Set等。
其次,要结合及项目的业务场景选择最合适的数据结构。
最后,几点建议,对于key的管理,最好在程序中使用全局配置来实现,直接在代码里写前缀的做法要严格避免,这样可维护性实在太差;设计好你的Sharding机制;注意数据的持久化;

主要是用来将原有的业务数据分离出来,做热点数据(排名、统计、最近信息)的展示以及需要实时更新或排序的数据;
1. 因此我们的用户数据是存mysql的,同时有部分用户实时数据同时也存在redis;
2. 我们的系统里md5+salt里的salt是每个用户单独生成的,因此相同密码也不会有相同的md5结果
3.数据落地的时候, 先根据mysql的结构入一份 mysql 一份序列化到 redis 。create的时候, 先去redis找,如果找不到。直接去 mysql读。

数据库设计

http://blog.codingnow.com/2011/11/dev_note_2.html
account:[id]:version number

account:[id]:email string

account:[id]:password string // md5(password..salt)

account:[id]:nickname string

account:[id]:lastlogin hashes
ip string

time string

account:[id]:history list(string)

account:[id]:available enum(open/locked/delete)

127.0.0.1:6379> set account:001:version 1
OK
127.0.0.1:6379> set account:001:email "xx@admin.com"
OK
127.0.0.1:6379> set account:001:nickname "小明"
OK
127.0.0.1:6379> hmset account:001 ip "10.101.1.212" time "0081222"
OK
127.0.0.1:6379> lpush account:001:history "3333" "4444"
(integer) 2
127.0.0.1:6379> set account:count 0
OK
127.0.0.1:6379> incrby account:count 1
(integer) 1

本文出自 “小猫” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐