如果把Book看做关系数据库里面的表名,name看作是列名,直接存KEY和存在VALUE的HASHTABLE的KEY里各有什么特长啊。

1 skydiver Nov 29, 2013 用hSet效率高一些 |
2 peonone Nov 29, 2013 hset相当于是2级hash 如果book:1:name数量比较多,还是用hset合适 |
3 peonone Nov 29, 2013 redis和关系型数据库的差距比较大,不要用关系数据库的概念去对应 |
4 xia0ta0 Nov 29, 2013 推荐hset,set适合存储离散的数据 如果想得到一本书有name和author属性,使用set,get需要存储或者读取两次;使用set的存储的数据可以用hgetall一次读出来。 好处还有很多,推荐看一下redis作者写的一个仿reddit Hacknews的程序lamernews https://github.com/antirez/lamernews |
5 xia0ta0 Nov 29, 2013 写错了。。。 是使用hset的存储的数据可以用hgetall一次读出来 |
6 oppressed6370 Nov 29, 2013 via iPhone 好像用hset比较多 |
7 mckelvin Nov 30, 2013 hset正适合这么用。在http://redis.io/topics/data-types Hashes一节中写道: A hash with a few fields (where few means up to one hundred or so) is stored in a way that takes very little space, so you can store millions of objects in a small Redis instance. |
8 wudikua OP @mckelvin 那一本书的 N个chapter 适不适合存 hset呢,比如 hset(Book:1 chapter:1, XXOO); 一章的内容大概5000字。 哎。现在我好多都是存的key,可能被phpRedisAdmin误导了,因为那个可以自动分割 “:”变得比较可视化,我还以为redis推荐这么做呢,也是受http://www.searchdatabase.com.cn/showcontent_52657.htm 这篇文章中的登录那部分的设计的引导。 |