标签: redis

12 篇文章

Redis开发与运维读书笔记之十——集群
Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的。在此之前,Redis分布式方案一般有两种: 客户端分区方案,优点是分区逻辑可控,缺点是需要自己处理数据路由、高可用、故障转移等问题。 代理方案,优…
Redis开发与运维读书笔记之九——哨兵
Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的。Redis从2.8开始正式提供了Redis Sentinel(哨兵)架构来解决这个问题。 一、基本概念 名词 逻辑结构 物理结构 主节点(master) Redis主服务/数据库…
Redis开发与运维读书笔记之八——键管理
按照单个键、遍历键、数据库管理三个维度对一些通用命令介绍。 一、单个键管理 针对单个键的命令,前面已经介绍过一部分了,例如type、del、object、exists、expire等,下面介绍剩余的几个重要命令。 1、键重命名:rename key newkey 如果在rename之前,newkey键已存在,那么它的值也将被覆盖 为了防止被强行re…
Redis开发与运维读书笔记之七——有序集合
有序集合Zset 有序集合不能有重复元素,元素可以排序,和列表的索引下标不同,排序的依据是分数(Score),分数可以重复,提供获取指定分数和元素范围查询、计算成员排名等功能 数据结构 是否允许重复元素 是否有序 有序实现方式 应用场景 列表 是 是 索引下标 时间轴、消息队列等 集合 否 否 无 标签、社交等 有序集合 否 是 分数 排行榜系统、…
Redis开发与运维读书笔记之六——集合
集合Set 集合Set用来保存多个字符串,但不允许有重复,且元素是无序的,不能通过索引下标获取元素。 集合支持取交集、并集、差集,可以解决很多实际问题   常用命令 集合内操作 添加元素:sadd key element [element ...] 删除元素:srem key element [element ...] 计算元素个数:sc…
Redis开发与运维读书笔记之五——列表
列表List   List类型用来存储多个有序的字符串,列表中每个字符串成为元素(element); 一个List最多可以存储2^32-1个元素; 可以对List两端插入(push)或弹出(pop); List可以充当栈和队列的角色 List的特点: List中的Element是有序的,可以通过索引下标获取某个Element或某个范围内的…
Redis开发与运维读书笔记之四——哈希
哈希Hash 哈希类型指键值本身又是一个键值对结构,如value={{field1,value1},...{fieldN,valueN}}。哈希的映射关系叫field-value,注意,这里的value是指field对应的值,不是键对应的值。   常用命令 设置值:hset key filed value,也可以使用hsetnx用于添加,…
Redis开发与运维读书笔记之三——字符串
字符串 字符串类型是Redis最基础的数据结构。键都是字符串类型,其他数据结构都是基于字符串构建的。 字符串类型的值可以是字符串、数字和二进制数据,但最大值不能超过512M。   字符串常用命令 设置值 set key value [ex seconds][ps milliseconds] [nx|xx] ex seconds:为键设置秒…
Redis开发与运维读书笔记之二——全局命令、数据结构和内部编码
第2章 API的理解和使用 Redis命令有上百个,理解Redis的一些机制,会发现这些命令有很强的通用性 有些数据结构和命令必须在特定场景使用,一旦使用不当可能对Redis本身或者应用造成致命伤害 全局命令: keys * :查看所有键 dbsize: 键的总数 exists key: 检查键是否存在 del key:删除键,返回结果为成功删除键…
Redis开发与运维读书笔记 之一——初始Redis
初始Redis Redis是一种基于键值对的NoSQL数据库,Redis中的值可以是string、hash、list、set、zset、Bitmaps、HyperLogLog、GEO等多种类型。   Redis的8个特特性 1、速度快 RW速度大约在10万/秒左右,数据存放内存,C语言设计,单线程架构,避免线程争用 2、基于键值对的数据结…