1
aaaron7 2016-06-20 09:29:11 +08:00
关系型数据不适合存到 redis 吧,查的时候会蛋疼死
|
2
Navee 2016-06-20 09:29:40 +08:00
ab 单独存, a 中只记录 b 的引用( id )
如果你的 b 记录在 a 中,就造成了 b 的冗余,并且单独查询 b 还是个大麻烦 |
3
bicoff9527 OP @Navee 我要存新的 b 的纪录, 也就是没有 id 的, 该如何存呢...好烦恼
|
4
Navee 2016-06-20 10:03:56 +08:00
@bicoff9527 没有 id 你创建一个不就可以了?
|
5
tonghuashuai 2016-06-20 11:26:50 +08:00
首先,我还是建议 lz 不要用这种方式使用 redis , redis 不应该这么用吧,很蛋疼。
当然,如果非要这么用的话, B 的 key 中包含 A 的 ID 应该是一种办法,结构如下: A 的结构: a_id: {col1: val2, col2: val2} B 的结构: a_id_b_id: {col1: val2, col2: val2} 但是这样有一个问题就是:如果只有 B 的 ID 想查询 B 就蛋疼了,就得用遍历了……想想就蛋疼 redis 的最佳实践是存一些热数据,尽量不存业务数据,虽说 redis 有持久化方式,如果选择实时持久化那性能还不如 mysql 呢,如果定期持久化那么必然会存在丢数据的问题。我一般用 redis 存一下经常更新的热数据或一些运算结果,我的使用原则是: redis 中的数据可以由业务数据冷启动的,也就是说:如果哪天 redis 挂掉了,只要有业务数据,随时都可以生成 redis 中的数据冷启动的。 |
6
mathgl 2016-06-20 11:31:05 +08:00
@tonghuashuai 看云风的文章,他们用 redis 作为 main db ,不过他们是做游戏的。
|
7
SlipStupig 2016-06-20 11:35:56 +08:00
这种方案特别不合适,但是方法还有的,方法如下:
1.将 redis 理解成一个 slave ,每次将 mysql 的 binlog 同步过来,解析成 json ,传入到 redis 2.mysql 装一个 Gearman redis 的扩展,用 gm 去管理同步 3.用程序逻辑去控制同步 |
8
lslqtz2 2016-06-20 11:42:02 +08:00
Redis 及 Memcache 偏向缓存。
|
9
tonghuashuai 2016-06-20 11:42:20 +08:00
@mathgl
我也看过,貌似他用 redis 做数据中转用吧,独立于游戏系统,不知道咱俩看到的是不是同一篇…… |
10
fy 2016-06-20 11:49:06 +08:00
没有必要, redis 不是用来解决这个问题的,都用就行。
|
11
smartdie 2016-06-20 11:52:10 +08:00
用看似省事儿的办法解决麻烦,越做越麻烦。
|
12
memorycancel 2016-06-20 15:37:22 +08:00
那你用 mongoDB 撒
|
13
mathgl 2016-06-20 21:08:43 +08:00 1
@tonghuashuai
http://blog.codingnow.com/2011/11/dev_note_2.html 看描述,是主要用它。不过网游的数据的关联性可能不是很高,这样用问题也不大。 |
14
Muninn 2016-06-20 23:15:31 +08:00
建议楼主可以看看 mongodb 的教程
在 mongo 里怎么存 在 redis 里也能存成类似的 然而就像楼上说的,除非可以保证你存的 AB 表维持在一个稳定的水位 要是只增不减的,不建议存 redis , redis 就是缓存场景,适合存能预估大小和条数的数据 |
15
vikeria 2016-06-21 08:49:50 +08:00 via iPhone
用过一次 redis 替换关系数据库,再也不想用了…为啥不用 mongodb ?
|
16
winglight2016 2016-06-21 10:50:10 +08:00
试试 memsql 吧
|
17
banksiae 2016-06-21 11:29:17 +08:00 1
我们用 redis 做主库,主要是 IM 记录、以及一些用户信息缓存,每天 16G 的数据。 codis 主备集群,外加 couch 集群。性能上还不错,但是查询比较痛苦,查询的场景基本上要结合 mysql 。
研究过 LOL 的 im 通讯,用的 riak ,集成了 solr ,支持搜索,楼主如果有兴趣可以看看 mongodb 没玩过 |