logo资料库

redis学习资料(可快速入手).pdf

第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
资料共71页,剩余部分请下载后查看
第一章 Redis快速入门
1.1 Key-Value存储系统简介
1.1.1 Voldemort
1.1.2 Dynamo
1.1.3 memcachedb
1.1.4 Cassandra
1.1.5 memcached
1.1.6 Hypertable
1.2 为什么选择Key-Value Store
1.2.1 大规模的互联网应用
1.2.2 云存储
1.2.3 Redis实际应用案例
1.3 初识Redis
1.3.1 数据类型
1.3.2 持久化
1.3.3 主从同步
1.3.4 性能
1.3.5 提供API的语言
1.3.6 适用场合
1.4 快速入门
1.4.1 安装Redis
1.4.2 配置Redis
1.4.3 操作数据库
第二章 Redis数据类型及操作
2.1 前言
2.2 strings类型及操作
2.2.1 set
2.2.2 setnx
2.2.3 setex
2.2.4 setrange
2.2.5 mset
2.2.6 msetnx
2.2.7 get
2.2.8 getset
2.2.9 getrange
2.2.10 mget
2.2.11 incr
2.2.12 incrby
2.2.13 decr
2.2.14 decrby
2.2.15 append
2.2.16 strlen
2.3 hashes类型及操作
2.3.1 hset
2.3.2 hsetnx
2.3.3 hmset
2.3.4 hget
2.3.5 hmget
2.3.6 hincrby
2.3.7 hexists
2.3.8 hlen
2.3.9 hdel
2.3.10 hkeys
2.3.11 hvals
2.3.12 hgetall
2.4 lists类型及操作
2.4.1 lpush
2.4.2 rpush
2.4.3 linsert
2.4.4 lset
2.5.5 lrem
2.4.6 ltrim
2.4.7 lpop
2.4.8 rpop
2.4.9 rpoplpush
2.4.10 lindex
2.4.11 llen
2.5 sets类型及操作
Redis的set是string类型的无序集合。set元素最大可以包含(2的32次方)个元素。
2.5.1 sadd
2.5.2 srem
2.5.3 spop
2.5.4 sdiff
2.5.5 sdiffstore
2.5.6 sinter
2.5.7 sinterstore
2.5.8 sunion
2.5.9 sunionstore
2.5.10 smove
2.5.11 scard
2.5.12 sismember
2.5.13 srandmember
2.6 sorted sets类型及操作
2.6.1 zadd
2.6.2 zrem
2.6.3 zincrby
2.6.4 zrank
2.6.5 zrevrank
2.6.6 zrevrange
2.6.7 zrangebyscore
2.6.8 zcount
2.6.9 zcard
2.6.10 zscore
2.6.11 zremrangebyrank
2.6.12 zremrangebyscore
第三章、Redis常用命令
3.1 键值相关命令
3.1.1 keys
3.1.2 exists
3.1.3 del
3.1.4 expire
3.1.5 move
3.1.6 persist
3.1.7 randomkey
3.1.8 rename
3.1.9 type
3.2朊务器相关命令
3.2.1 ping
3.2.2 echo
3.2.3 select
3.2.4 quit
3.2.5 dbsize
3.2.6 info
3.2.7 monitor
3.2.8 config get
3.2.9 flushdb
3.2.10 flushall
第四章 Redis高级实用特性
4.1 安全性
4.2 主从夊制
4.2.1 redis主从夊制特点:
4.2.2 redis主从夊制过程:
4.2.3 如何配置
4.3 事务控制
4.3.1 简单事务控制
4.3.2 如何取消一个事务
4.3.3 乐观锁夊杂事务控制
4.4 持久化机制
4.4.1 snapshotting方式
4.4.2 aof方式
4.5发布及订阅消息
4.6 Pipeline批量发送请求
4.7 虚拟内存的使用
Redis 实战
《红丸出品》 http://weibo.com/u/2446082491 第一章 Redis 快速入门 7 1.1 Key-Value 存储系统简介 ................................................................................................ 7 1.1.1 Voldemort ................................................................................................................. 8 1.1.2 Dynamo .................................................................................................................... 8 1.1.3 memcachedb ............................................................................................................ 9 1.1.4 Cassandra ................................................................................................................. 9 1.1.5 memcached ............................................................................................................ 10 1.1.6 Hypertable .............................................................................................................. 10 1.2 为什么选择 Key-Value Store ....................................................................................... 11 1.2.1 大规模的互联网应用 ........................................................................................... 11 1.2.2 云存储 ................................................................................................................... 11 1.2.3 Redis 实际应用案例 .............................................................................................. 12 1.3 初识 Redis .................................................................................................................... 14 1.3.1 数据类型 ............................................................................................................... 14 1.3.2 持久化 ................................................................................................................... 14 1.3.3 主从同步 ............................................................................................................... 14 1.3.4 性能 ....................................................................................................................... 15 1.3.5 提供 API 的语言 .................................................................................................... 15 1.3.6 适用场合 ............................................................................................................... 15 1.4 快速入门 ...................................................................................................................... 17 1.4.1 安装 Redis ............................................................................................................. 17 1.4.2 配置 Redis ............................................................................................................. 18 1.4.3 操作数据库 ........................................................................................................... 21 第二章 Redis 数据类型及操作 ............................................................................................. 22 2.1 前言 .............................................................................................................................. 22 2.2 strings 类型及操作 .................................................................................................. 23 2.2.1 set ........................................................................................................................... 23 2.2.2 setnx ....................................................................................................................... 23 2.2.3 setex ....................................................................................................................... 24 2.2.4 setrange .................................................................................................................. 24 2 / 71
《红丸出品》 http://weibo.com/u/2446082491 2.2.5 mset ........................................................................................................................ 24 2.2.6 msetnx .................................................................................................................... 25 2.2.7 get ........................................................................................................................... 25 2.2.8 getset ...................................................................................................................... 25 2.2.9 getrange.................................................................................................................. 26 2.2.10 mget ...................................................................................................................... 26 2.2.11 incr ........................................................................................................................ 27 2.2.12 incrby .................................................................................................................... 27 2.2.13 decr ....................................................................................................................... 27 2.2.14 decrby ................................................................................................................... 27 2.2.15 append .................................................................................................................. 28 2.2.16 strlen ..................................................................................................................... 28 2.3 hashes 类型及操作 .................................................................................................. 29 2.3.1 hset ......................................................................................................................... 29 2.3.2 hsetnx ..................................................................................................................... 29 2.3.3 hmset ...................................................................................................................... 29 2.3.4 hget ......................................................................................................................... 30 2.3.5 hmget...................................................................................................................... 30 2.3.6 hincrby .................................................................................................................... 30 2.3.7 hexists ..................................................................................................................... 30 2.3.8 hlen ......................................................................................................................... 31 2.3.9 hdel ......................................................................................................................... 31 2.3.10 hkeys ..................................................................................................................... 31 2.3.11 hvals ...................................................................................................................... 31 2.3.12 hgetall ................................................................................................................... 32 2.4 lists 类型及操作 ...................................................................................................... 32 2.4.1 lpush ....................................................................................................................... 32 2.4.2 rpush ....................................................................................................................... 33 2.4.3 linsert ...................................................................................................................... 33 2.4.4 lset .......................................................................................................................... 33 3 / 71
《红丸出品》 http://weibo.com/u/2446082491 2.5.5 lrem......................................................................................................................... 34 2.4.6 ltrim ........................................................................................................................ 35 2.4.7 lpop ......................................................................................................................... 36 2.4.8 rpop ........................................................................................................................ 36 2.4.9 rpoplpush ................................................................................................................ 36 2.4.10 lindex .................................................................................................................... 37 2.4.11 llen ........................................................................................................................ 37 2.5 sets 类型及操作 ...................................................................................................... 37 2.5.1 sadd ........................................................................................................................ 37 2.5.2 srem ........................................................................................................................ 38 2.5.3 spop ........................................................................................................................ 38 2.5.4 sdiff ......................................................................................................................... 39 2.5.5 sdiffstore ................................................................................................................. 39 2.5.6 sinter ....................................................................................................................... 40 2.5.7 sinterstore .............................................................................................................. 40 2.5.8 sunion ..................................................................................................................... 40 2.5.9 sunionstore ............................................................................................................. 41 2.5.10 smove ................................................................................................................... 41 2.5.11 scard ..................................................................................................................... 42 2.5.12 sismember ............................................................................................................ 42 2.5.13 srandmember ....................................................................................................... 42 2.6 sorted sets 类型及操作 ........................................................................................... 42 2.6.1 zadd ........................................................................................................................ 43 2.6.2 zrem ........................................................................................................................ 43 2.6.3 zincrby .................................................................................................................... 44 2.6.4 zrank ....................................................................................................................... 44 2.6.5 zrevrank .................................................................................................................. 44 2.6.6 zrevrange ................................................................................................................ 45 2.6.7 zrangebyscore......................................................................................................... 45 2.6.8 zcount ..................................................................................................................... 46 4 / 71
《红丸出品》 http://weibo.com/u/2446082491 2.6.9 zcard ....................................................................................................................... 46 2.6.10 zscore .................................................................................................................... 46 2.6.11 zremrangebyrank ................................................................................................. 47 2.6.12 zremrangebyscore ................................................................................................ 47 第三章、Redis 常用命令 ....................................................................................................... 48 3.1 键值相关命令 .......................................................................................................... 48 3.1.1 keys ......................................................................................................................... 48 3.1.2 exists ....................................................................................................................... 49 3.1.3 del ........................................................................................................................... 49 3.1.4 expire ...................................................................................................................... 49 3.1.5 move ....................................................................................................................... 50 3.1.6 persist ..................................................................................................................... 50 3.1.7 randomkey .............................................................................................................. 51 3.1.8 rename ................................................................................................................... 51 3.1.9 type ......................................................................................................................... 51 3.2 服务器相关命令 ........................................................................................................... 52 3.2.1 ping ......................................................................................................................... 52 3.2.2 echo ........................................................................................................................ 52 3.2.3 select....................................................................................................................... 52 3.2.4 quit .......................................................................................................................... 52 3.2.5 dbsize ...................................................................................................................... 53 3.2.6 info .......................................................................................................................... 53 3.2.7 monitor ................................................................................................................... 53 3.2.8 config get ................................................................................................................ 53 3.2.9 flushdb .................................................................................................................... 54 3.2.10 flushall .................................................................................................................. 54 第四章 Redis 高级实用特性 ................................................................................................. 54 4.1 安全性 .......................................................................................................................... 54 4.2 主从复制 ...................................................................................................................... 55 4.2.1 redis 主从复制特点: .............................................................................................. 55 5 / 71
《红丸出品》 http://weibo.com/u/2446082491 4.2.2 redis 主从复制过程: .............................................................................................. 55 4.2.3 如何配置 ............................................................................................................... 56 4.3 事务控制 ...................................................................................................................... 58 4.3.1 简单事务控制 ....................................................................................................... 58 4.3.2 如何取消一个事务 ............................................................................................... 58 4.3.3 乐观锁复杂事务控制 ........................................................................................... 59 4.4 持久化机制 .................................................................................................................. 61 4.4.1 snapshotting 方式 .................................................................................................. 61 4.4.2 aof 方式 .................................................................................................................. 63 4.5 发布及订阅消息 ........................................................................................................... 66 4.6 Pipeline 批量发送请求 ................................................................................................. 67 4.7 虚拟内存的使用 .......................................................................................................... 70 6 / 71
《红丸出品》 http://weibo.com/u/2446082491 第一章 Redis 快速入门 Redis 是一个 Key-Value 存储系统。和 Memcached 类似,它支持存储的 value 类型相对更多, 包括 string(字符串)、list(链表)、set(集合)和 zset(有序集合)。这些数据类型都支持 push/pop、 add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础 上,Redis 支持各种不同方式的排序。与 memcached 一样,为了保证效率,数据都是缓存在 内存中。区别的是 Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录 文件,并且在此基础上实现了 master-slave(主从)同步。 1.1 Key-Value 存储系统简介 Key-Value Store 是当下比较流行的话题,尤其在构建诸如搜索引擎、IM、P2P、游戏服务器、 SNS 等大型互联网应用以及提供云计算服务的时候,怎样保证系统在海量数据环境下的高性 能、高可靠性、高扩展性、高可用性、低成本成为所有系统架构们挖苦心思考虑的重点,而 怎样解决数据库服务器的性能瓶颈是最大的挑战。 按照分布式领域的 CAP 理论(Consistency、 Availability、Tolerance to network Partitions 这三 部分在任何系统架构实现时只可能同时满足其中二点,没法三者兼顾)来衡量,传统的关系 数据库的 ACID 只满足了 Consistency、Availability,因此在 Partition tolerance 上就很难做得好。 另外传统 的关系数据库处理海量 数据、分布式架构时候 在 Performance、 Scalability 、 Availability 等方面也存在很大的局限性。 而 Key-Value Store 更加注重对海量数据存取的性能、分布式、扩展性支持上,并不需要传统 关系数据库的一些特征,例如:Schema、事务、完整 SQL 查询支持等等,因此在分布式环 境下的性能相对于传统的关系数据库有较大的提升。 Key-Value 数据库分为很多种类,具体如下图: 7 / 71
《红丸出品》 http://weibo.com/u/2446082491 这些 Key-Value 数据库,有的是用 C/C++编写的,有的是用 Java 编写的,还有的是用 Erlang 编写的,每个都有自己的独到之处,我们从中挑选一些比较有特色且应用广泛的产品学习和 了解一下。 1.1.1 Voldemort Voldemort 是一个分布式 Key/Value 存储系统,它具有以下特点:  数据自动在多个服务器之间复制;  数据自动分区,因此每个服务器只包括整体数据的一个子集;  服务器故障处理是透明的;  支持插入式序列化,允许丰富的 Key 和 Value 类型,包括列表和元组,也可以集成常见 的序列化框架,如 Protocol Buffers,Thrift,Avro 和 Java Serialization  数据项支持版本化,即使在故障情况下,数据完整性也可以得到保障;  每个节点都是独立的,无需其他节点协调,因此也没有中央节点;  单节点性能优秀:根据机器配置、网络、磁盘系统和数据复制因素的不同,每秒可以执 行 10-20k 操作;  支持地理分散式部署。 1.1.2 Dynamo Dynamo 是亚马逊的 key-value 模式的存储平台,可用性和扩展性都很好,性能也不错:读写 访问中 99.9%的响应时间都在 300ms 内。 8 / 71
分享到:
收藏