在 MySQL中是 <粉丝,关注的人>这样一行一行存储的。而在 Redis中你可以存成一个set,或者zset等

大体流程是由 MySQL 复制到 Redis 的
基本结构应该是:
1. 发微博-- > 进入消息队列-- > 存入MySQL-- > 复制到Redis
2. 查询 -- > 查询缓存-- > 查询Redis -- > 查询MySQL
㈡ 快速迁移 MySQL →→ Redis
① MySQL 要导出的表 david_lin
mysql> desc david_lin; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | myname | varchar(25) | NO | UNI | NULL | | | mymoney | int(11) | NO | | 0 | | +---------+-------------+------+-----+---------+-------+ mysql> select * from david_lin; +----+--------+---------+ | id | myname | mymoney | +----+--------+---------+ | 1 | david | 100000 | | 2 | rocky | 200000 | +----+--------+---------+
[root@odd ~]# cat mysql_to_redis.sql SELECT CONCAT( "*4\r\n", \'$\', LENGTH(redis_cmd), \'\r\n\', redis_cmd, \'\r\n\', \'$\', LENGTH(redis_key), \'\r\n\', redis_key, \'\r\n\', \'$\', LENGTH(hkey), \'\r\n\', hkey, \'\r\n\', \'$\', LENGTH(hval), \'\r\n\', hval, \'\r\' ) FROM ( SELECT \'HSET\' AS redis_cmd, \'david\' AS redis_key, myname AS hkey, mymoney AS hval FROM david_lin ) AS t
[root@odd ~]# mysql -uroot -poracle test --skip-column-names --raw < mysql_to_redis.sql | redis-cli --pipe All data transferred. Waiting for the last reply... Last reply received from server. errors: 0, replies: 0
redis 127.0.0.1:6379> hgetall david 1) "david" 2) "100000" 3) "rocky" 4) "200000"
By David Lin
2013-05-30
Good Lucky
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24486203/viewspace-1703934/ ,如需转载,请注明出处,否则将追究法律责任。