Redis基础知识及集群搭建课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HSET KEY FILED VALUE HMSET KEY FILED VALUE [FILED1] [VALUE] HGET KEY HMGET KEY [KEY] HKEYS KEY HVALS KEY HGETALL KEY HDEL FILED [FILED] HLEN HEXISTS key filed
字符串类型 链表类型 哈希类型 集合类型 有序集合类型
String是最常用的一种数据类型,普通的key/ value 存储都可以归为此类。 当然,也可以存储图片,视频等序列化对象,Value最多可以容纳的数据长度 是512M。
1.赋值: 2.取值: 3.字符串操作: 4.数字操作: 5.其他:
SET KEY VALUE MSET KEY1 VALUE1 [KEY] [VALUE2]
场景:COC中将符合标签的用户进行聚类,存放到Set中,比如set1 存放学生
标签用户、set2存放低消费用户、set3存放非合约用户,那么取出可能购买小
米的低消非合约学生用户群:
1.SINTERSTORE aset set1 set2
2.SDIFF aset set3
有序集合中也不允许有重复数据,它比Set多了一个score,Redis正是通过 score来为集合中的成员进行从小到大的排序。需要注意的是,尽管SortedSets中的成员必须是唯一的,但是分数(score)却是可以重复的。
1.查询:Leabharlann ZADD KEY SCOREN MBR1 … SCOREN MBRN
2.删除:
ZREM KEY MBR1 MBR2 …MBRN
3.取前几位/后几位:
ZRANGE key start stop [WITHSCORES]
ZREVRANGE key start stop [WITHSCORES]
INCRBY KEY decrement /DECRBY KEY decrement
SETEX KEY SECONDS KEY VALUE
List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样, 我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并 不存在,Redis将为该键创建一个新的链表。
场景:AIOP中用户标签信息使用HASHMAP存储,存储结构为user:phone tag1 val1 tag2 val2 ,AIOP传递客户手机号,即可通过HGET user:phone tag1 tag2 取出标签值。
在Redis中,我们可以将Set类型看作为没有排序的字符集合,就像什锦果冻, 只是聚集在一起,没有顺序,这和List类型不一样,另外要注意Set集合中不允 许出现重复的元素,而且Set支持多个Sets之间的差、并、交集操作。
与关系型数据库比较
——redis由于其存储结构相对简单,因此并不能对复杂的逻辑关系提供很 好的支持,然而在适用于Redis的场景中,我们却可以由此而获得效率上的 显著提升。
作为NOSQL数据库之一的redis,除了支持基本key-value方式,还支持结构 化存储,以适应各类应用场景:
String: List: Hashes: Set: Sorted-Sets
场景:LIST可以作为消息队列,LPUSH链表头作为生产者插入消息,RPOP作 为消费者取得消息。
我们可以将Redis中的Hashes类型看成具有String Key和String Value的 map容器。所以该类型非常适合于存储值对象的信息。
1.赋值: 2.取值:
3.删除: 4.取长度: 5.存在判定:
目录
1 Redis基础知识 2 Redis集群搭建
Redis是什么?
——Redis,典型的NoSQL数据库服务器,采用KEY-VALUE存储结构,可 以作为服务程序独立运行于自己的服务器主机,同时作为内存数据库,不 用IO读取硬盘数据,能够快速响应请求。
Redis有什么特点?
——支持持久化、支持多种数据结构、支持主从复制、免费
以上各类数据类型的操作全部是针对于KEY关联的value操作,redis也提供了 单独对key值的操作
匹配: 删除: 是否存在: 键值迁移: 查看数据类型: 设置超时: 取消超时:
String
SETBIT KEY OFFSET 1/0 GET KEY MGET KEY1 [KEY] GETBIT KEY OFFSET
LEN BUF[] FREE
STRLEN KEY
SETRANGE KEY OFFSET VALUES
GETRANGE KEY START END
INCR KEY
DECR KEY
4.统计数量: ZCOUNT key min max
5.取分数:
ZSCORE key member
场景:可以用于一个大型在线游戏的积分排行榜。每当玩家的分数发生变化时, 可以执行ZADD命令更新玩家的分数,此后再通过ZRANGE命令获取积分TOP TEN的用户信息。当然我们也可以利用ZRANK命令通过username来获取玩家 的排行信息。最后我们将组合使用ZRANGE和ZRANK命令快速的获取和某个玩 家积分相近的其他用户的信息。
1.赋值: 2.取值:
3.INDEX操作: 4.取长度: 5.截取:
LPUSH/RPUSH KEY V1 V2 …VN LPUSHX/RPUSHX KEY VALUE LPOP/RPOP KEY LRANGE KEY START END GETBIT KEY OFFSET LSET key index value LINDEX KEY index LLEN KEY LTRIM key start stop
1.新增: 2.查询:
3.删除: 4.取长: 5.存在判定: 6.聚合运算:
SADD KEY M1 M2… SMEMEBERS KEY SPOP KEY SRANDMEMBER KEY
SREM KEY M1 M2…MN SCARD KEY SISMEMBER KEY MEMBER SDIFF KEY1 KEY2 … SINTER KEY1 KEY2 … SUINON KEY1 KEY2…