redis数据库设计的一个小疑问,是用 set( book:1:name, xx ) 还是 hSet( book:1 name, xx )存储 - V2EX
wudikua
V2EX    Redis

redis数据库设计的一个小疑问,是用 set( book:1:name, xx ) 还是 hSet( book:1 name, xx )存储

  •  
  •   wudikua Nov 29, 2013 6392 views
    This topic created in 4552 days ago, the information mentioned may be changed or developed.
    如果把Book看做关系数据库里面的表名,name看作是列名,直接存KEY和存在VALUE的HASHTABLE的KEY里各有什么特长啊。
    8 replies    1970-01-01 08:00:00 +08:00
    skydiver
        1
    skydiver  
       Nov 29, 2013
    用hSet效率高一些
    peonone
        2
    peonone  
       Nov 29, 2013
    hset相当于是2级hash
    如果book:1:name数量比较多,还是用hset合适
    peonone
        3
    peonone  
       Nov 29, 2013
    redis和关系型数据库的差距比较大,不要用关系数据库的概念去对应
    xia0ta0
        4
    xia0ta0  
       Nov 29, 2013
    推荐hset,set适合存储离散的数据
    如果想得到一本书有name和author属性,使用set,get需要存储或者读取两次;使用set的存储的数据可以用hgetall一次读出来。
    好处还有很多,推荐看一下redis作者写的一个仿reddit Hacknews的程序lamernews
    https://github.com/antirez/lamernews
    xia0ta0
        5
    xia0ta0  
       Nov 29, 2013
    写错了。。。 是使用hset的存储的数据可以用hgetall一次读出来
    oppressed6370
        6
    oppressed6370  
       Nov 29, 2013 via iPhone
    好像用hset比较多
    mckelvin
        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.
    wudikua
        8
    wudikua  
    OP
       Nov 30, 2013
    @mckelvin 那一本书的 N个chapter 适不适合存 hset呢,比如 hset(Book:1 chapter:1, XXOO); 一章的内容大概5000字。
    哎。现在我好多都是存的key,可能被phpRedisAdmin误导了,因为那个可以自动分割 “:”变得比较可视化,我还以为redis推荐这么做呢,也是受http://www.searchdatabase.com.cn/showcontent_52657.htm 这篇文章中的登录那部分的设计的引导。
    About     Help     Advertise     Blog     API     FAQ     Solana     1156 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 23:42 PVG 07:42 LAX 16:42 JFK 19:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86