
1 xiaogui 2014-04-23 10:58:36 +08:00 怎么说呢,一般不怎么使用redis做数据存储。一般mongodb做数据存储,redis做缓存等。 |
2 verfino 2014-04-23 11:22:46 +08:00 Redis不是有Hash格式么,用户id作为Hash的key,其他信息用json格式的string作为Hash的value |
5 mercurylanded 2014-04-23 11:40:07 +08:00 table名:id:字段名 然后弄一个set里面是table的所有id 一个tableid用来自增 这是我现在的使用情况需要redis跟mysql之间互相转所以要这样写 |
6 0bit 2014-04-23 11:44:07 +08:00 一般真的不会用redis来存储这些信息,即使存储了,也不利于查询,完全不是redis的优势 |
7 zippera OP @mercurylanded 这个也太松耦合了。。另外,单独用 redis 做数据库好用嘛? |
9 Ever 2014-04-23 12:04:47 +08:00 序列化后set或者把key打散了hset |
10 diligence24 2014-04-23 12:54:17 +08:00 hash 可以 |
11 mercurylanded 2014-04-23 13:17:22 +08:00 @zippera 现在用的redis当cache,持久化还是在mysql里 |
12 xia0ta0 2014-04-23 13:43:36 +08:00 redis适合存储简单的key/value或者key/dictionary数据。比如:key是用户id,value是用户信息 redis比memcache强大的地方在可以排序,可以查询某一个字段。比如只是查询前100名用户的姓名 如果想实现复杂的条件查询,还是用mongodb或者mysql之类的。如果非要用redis设计,你会感觉是在做其他数据库已经具有的功能,一致性还有问题。 |
13 verfino 2014-04-23 13:52:51 +08:00 |
14 gkiwi 2014-04-23 13:55:50 +08:00 如果只需要根据id查询用户信息,可以考虑用用hset,以id为field,以dumps后的[name,email,password,...]作为value,以后根据id查询就好了~可以单独分个db来储存这些信息,或者在id前面加个统一前缀做处理就好了~ |
15 Perry 2014-04-23 13:58:21 +08:00 via iPhone |
16 qdvictory 2014-04-23 13:58:39 +08:00 |
17 lnehe 2014-04-23 14:01:44 +08:00 |
18 zippera OP |
19 waitgroup 2014-04-23 16:36:55 +08:00 @zippera 序列化的问题你太执着了. 属性只需要用redis的数据类型索引需要查询的 user:1 {name:"xxx", "birthday":"1980-1-1"} password:1 blob firiends:1 sets birthday:1980:1:1 sets kyoto tycoon作者(也是tokyo tyrant作者)的这篇文章(http://fallabs.com/blog/promenade.cgi?id=24)讲到了怎么在kyoto tycoon下面实现原先tokyo tyrant内置的table类型, 可以部分套用到redis上来. |