Redis-2种不同类型的数据是用单个redis多个db还是多个redis单个db?
2种不同类型的数据都想用redis来存储,是用1个redis实例2个db,还是用2个实例1个db?这2种方式的优劣各是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
2种不同类型的数据都想用redis来存储,是用1个redis实例2个db,还是用2个实例1个db?这2种方式的优劣各是什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
小弟拙见:根据这两种类型的相关性来决定,两种类型的数据关联比较密切的话就放到一个里面
一个redis吧,db也用一个就可以了,和mysql的db一个概念,我们的用法是一个业务一个db,根据业务规模选择.
根据我自己使用redis的经验。redis中包含包括string(字符串)、list(链表)、set(集合)和zset(有序集合),hset(哈希表)。而内部的操作都是原子性的。
如果你想存储两个类型的话,可以使用hash来存储,存储方式是使用hset这种hash格式的形式
hset(队列名,key,value)
第一个队列名应该就是你所说的db吧!然后你给两个数据类型各给一个key值。然后分别存储进同一个队列里面
例如:
hset(QUEUE_NAME,KEY1,DATA1);
hset(QUEUE_NAME,KEY2,DATA2);
不知道这样是否符合你的要求呢!?
这个主要看你的业务需求了。Redis中的DB是相互独立存在的,所以可以出现重复的key。而且如果以后机器的内存和硬盘不够了,你可以单独迁移DB出来。
一般的情况下一个DB就够了,一个DB中可有多个Key,就先一个Mysql中可以有多个table一样。同一个DB中能进行集合运算。