深入浅出.ppt

上传人:本田雅阁 文档编号:2656653 上传时间:2019-04-30 格式:PPT 页数:27 大小:921.01KB
返回 下载 相关 举报
深入浅出.ppt_第1页
第1页 / 共27页
深入浅出.ppt_第2页
第2页 / 共27页
深入浅出.ppt_第3页
第3页 / 共27页
深入浅出.ppt_第4页
第4页 / 共27页
深入浅出.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《深入浅出.ppt》由会员分享,可在线阅读,更多相关《深入浅出.ppt(27页珍藏版)》请在三一文库上搜索。

1、Redis 深入浅出 Http:/www.hoterran.info Http:/W feature architecture admin replication presistence misc,use,Download http:/ install Redis-server /dev/null & Redis-cli http:/try.redis- lpush/lrem/rpop/ hset/hgetall sadd/srem multi/discard/exec,feature,Advanced key value store like memcachedb single thread

2、ed, no lock Event demultiplexer, no use libevent 2w lines writen in c without 3rd library faster,feature,Difference with memached Data structure No only memcached k-v Linklist k-v1-v2-v3-v4. Set k - (v1,v2,v3,v4) Hash k (k1 -v1, k2 v2, k3 v3) Need design a little Replication Presistence not support

3、LRU Need multi instance use multi core,feature,Difference with MySQL Not Heap table store Not need index, so not execute plan Not compute statistic No sql No join Capacity size limited by cache a little design before dev High rw,architecture,architecture,admin,Redis.conf parameter intro Replication

4、intro Persistence intro,replication,procedure map Dual master mode? Master slave slave mode defects Without resume broken transfer 可以架两级slave解决? Without lag(slave position),replication,replication,Case replication switch old redis version running on, say, redis:6379. Install and start a new redis on

5、 redis:6380 with a different dump file location. Execute SLAVE OF redis 6379 against redis:6380. Wait for first SYNC to complete. echo “enable server redis/redis-6380“ | socat stdio unix-connect:/var/run/haproxy/admin.sock echo “disable server redis/redis-6379“ | socat stdio unix-connect:/var/run/ha

6、proxy/admin.sock Execute SLAVE OF no one on redis:6380. Execute SHUTDOWN on redis:6379. Assuming that youve got a HAProxy config looking something like listen redis :6378 server redis-6379 localhost:6379 check weight 256 server redis-6380 localhost:6380 check disabled,persistence,Snapshot Fork proce

7、ss, loop hash table, save on file dump.rdb Yes! sequential write Write dump.rdb need O_DIRECT? Aof Like binlog, for recover after crash appendfsync Aof file is big use bgrewriteaof,Login user,Design a login user system Heap table userid login_times last_login_time 1 5 2011-1-1 2 1 2011-1-2 3 2 2011-

8、1-3 Last login man? Max login man?,Login user,data Set userid:1:login_times 5 Set userid:2:login_times 1 Set userid:3:login_times 2 Set userid:1:last_login 2011-1-1 Set userid:2:last_login 2011-1-2 Set userid:3:last_login 2011-1-3 Last login lpush user_last_login 1 lpush user_last_login 2 lpush user

9、_last_login 3 ltrim user_last_login 0 1,Login user,Max login man zadd user:login_times 5 1 zadd user:login_times 1 2 zadd user:login_times 2 3 zcard user:login_times zrangebyscore user:login_times 3 +inf withscores Column store data?,tag,Relational is suitable? book id book author 1 gun 2 japan Tag

10、Tagname id Web 1 Web 2 Python 2 Sql select id from tag t1, tag t2 where t1.tagname = web and t2.tagname = python and t1.id = t2.id,tag,Kv design set book:1 ”diving into python” Set book:2 ”ruby on rail” sadd tag:web 2 sadd tag:web 1 sadd tag:python 1 sinter tag:web tag:python sunion tag:web tag:pyth

11、on sdiff tag:web tag:python 反思?,Sina weibo,Recent record List, Lrange(关注的人列表、粉丝列表、feeds列表) Set Sadd|, sdiff, sinter (我的好友,我可能感兴趣的人) Score Zadd, zset(feeds排名) Hash Hincrby, hgetall(用户资料,关注数,粉丝数,微博数 ) Delete history data expire,Sina weibo,我关注的人 sadd user:hoterran:follows user:foolishceo sadd user:hote

12、rran:follows user:logzgh sadd user:hoterran:follows user:sqlrush smembers user:hoterran:follows 英杰关注的人 sadd user:sqlrush:follows user:logzgh sadd user:sqlrush:follows user:hoterran,Sina weibo,我们共通关注的人 sinter user:sqlrush:follows user:hoterran:follows 我的粉丝 sadd user:logzgh:follows user:hoterran sadd

13、user:hoterran.follower user:logzgh sadd user:hoterran.follower user:sqlrush smembers user:hoterran:follower,Sina weibo,我的好友 sinter user:hoterran:follows user:hoterran:follower 我们都关注的人 sinter user:sqlrush:follows user:hoterran:follows,Sina weibo,可能感兴趣的的人 sadd user:sqlrush:follows user:free_yz sdiff u

14、ser:sqlrush:follows user:hoterran:follows 我关注的人数,我的粉丝数,我的 Hset hoterran:profile follows 1 Hset hoterran:profile follower 2 Hset hoterran:profile blog 3 Hgetall hoterran:profile Hincrby hoterran:profile blog 1,Suitable scene,轻量级的高性能消息队列服务 生产者消费者 Producer lpush Consumer blpop Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,并且它没有原生的可扩展机制,不具有scale(可扩展)能力,要依赖客户端来实现分布式读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。,summary,Defects Failover Replication Dba level Memory limit size Advantage High qps Data structure,qa,Replace aliWangwang k-v(blob) Can satisfy Online Log requirement?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1