Redis
文章平均质量分 63
ECHO_FOLLOW_HEART
这个作者很懒,什么都没留下…
展开
-
Redis系列学习笔记21 集群
集群Redis 的分布式数据库实现Redis 集群是一个由多个 Redis 服务器组成的分布式网络服务器群,集群中的各个服务器被称为节点(node),这些节点会相互连接并进行通信。分布式的 Redis 集群没有中心节点,所以用户不必担心某个节点会成为整个集群的性能瓶颈。Redis 集群的每个节点都有两种角色可选,一个是主节点(master node),另一个是从节点(slave node):其中主节原创 2016-05-24 19:08:46 · 524 阅读 · 0 评论 -
Redis系列学习笔记12 事务
事务Redis 的事务功能允许用户将多个命令包裹起来,然后一次性地、按顺序地执行被包裹的所有命令。在事务执行的过程中,服务器不会中断事务而改去执行其他命令请求,只有在事务包裹的所有命令都 被执行完毕之后,服务器才会去处理其他命令请求。 命令 作用 MULTI 开始一个新的事务。 DISCARD 放弃事务。 EXEC 执行事务中的所有命令。MULTI开始一个事务。在这原创 2016-05-23 16:10:53 · 475 阅读 · 0 评论 -
Redis系列学习笔记13 Lua 脚本
Lua 脚本在服务器端执行复杂的操作尽管使用流水线可以一次发送多个命令,但是对于一个由多个命令组成的复杂操作来说,为了执行该操作而不断地重复发送相同的命令,这并不是最高效的做法,会对网络资源造成浪费。如果我们有办法避免重复地发送相同的命令,那么客户端就可以减少花在网络传输方面的时间,操作 就可以执行得更快。脚本功能有以下好处:使用脚本可以直接在服务器端执行 Redis 命令,一般的数据处理操作可原创 2016-05-23 16:11:53 · 603 阅读 · 0 评论 -
Redis系列学习笔记14 微博功能分析
微博功能分析UniqueSet 类 API 作用 实现原理 UniqueSet(client, key) 设置唯一集合的客户端和键。 is_include(element) 检查元素是否存在于唯一集合。 SISMEMBER add(element) 将元素添加到唯一集合。 SADDuser 类 API 作用 实现原理 User(clie原创 2016-05-23 16:12:36 · 1548 阅读 · 0 评论 -
Redis系列学习笔记15 论坛构建
论坛构建介绍如何使用 Redis 去构建一个论坛主要功能用户账号创建帖子、回复帖子、为帖子投票为帖子分类,查看属于特定分类的帖子将多个分类(category)归类至某个标签(tab),查看属于特定标签的帖子每日热议帖子排行榜基于算法的帖子推荐一个帖子的构成部分:分类标题用户的投票数量作者发布时间点击量内容TAG根据分类展示帖子分类页面会根据帖子最后一次被回复的时间来排原创 2016-05-23 16:13:13 · 1076 阅读 · 0 评论 -
Redis系列学习笔记16 服务器配置
服务器配置通过调整服务器来适应你的需要Redis 服务器提供了一些配置选项(configuration option),通过修改这些选项的值,可以改变选项对应功能的行为。举个例子,前面介绍 SELECT 命令时曾经说过,Redis 服务器默认会创建 0 号至 15 号共十六个数据库以供用户使用。但 Redis 服务器的数据库数量并不是一成不变的,Redis 提供了 databases 选项,它的默认原创 2016-05-23 16:14:02 · 504 阅读 · 0 评论 -
Redis系列学习笔记17 服务器管理
服务器管理命令与工具检查连接是否正常PING命令使用客户端向 Redis 服务器发送一个 PING ,如果客户端与服务器之间的连接正常,并且服务器的运作也正常的话,那么命令将返回一个 PONG 。通常用于测试网络连接和服务器状态,或者用于测量延迟值。redis> PINGPONGredis> PINGCould not connect to Redis at 127.0.0.1:6379: C原创 2016-05-23 16:14:55 · 567 阅读 · 0 评论 -
Redis系列学习笔记18 Redis持久化
Redis持久化RDB持久化:将数据以二进制文件的形式存到硬盘里面。AOF持久化:增量存储至硬盘里面。在Redis服务器创建RDB文件的情况中,以下三种是最常见的:服务器执行客户端发送的SAVE命令;服务器执行客户端发送的BASAVE命令;使用save配置选项设置的自动保存条件被满足,服务器自动执行BGSAVE。SAVE在执行SAVE命令的过程中,Redis服务器将被阻塞,无法处理客户原创 2016-05-23 16:15:29 · 464 阅读 · 0 评论 -
Redis系列学习笔记19 Redis多机功能
Redis多机功能从单台 Redis 服务器过渡至多台 Redis 服务器到目前为止,本课程介绍的所有内容都是以单机 Redis 为背景的,也即是,我们考虑的事情只和一台Redis 服务器有关。但是在生产环境中实际地使用 Redis 的时候,只使用一台 Redis 服务器一般来说是没办法满足我们的需求的,限制主要来自于两个方面:内存容量不足:Redis 使用内存来储存数据库中的数据,但是对于一台机原创 2016-05-23 16:16:11 · 562 阅读 · 0 评论 -
Ubuntu14.04下安装redis-3.2.0以及开机自启动
Ubuntu14.04下安装redis-3.2.0以及开机自启动去官网下载redis-3.2.0.tar.gz,将redis-3.2.0.tar.gz放入/opt目录下解压redis-3.2.0.tar.gzxiaoyao@xiaoyao-virtual-machine:/opt$ sudo tar -zxvf redis-3.2.0.tar.gz编译redisxiaoyao@xiaoyao-vi原创 2016-06-06 12:54:41 · 7032 阅读 · 2 评论 -
Redis系列学习笔记11 流水线
流水线通过减少客户端与服务器之间的通信次数来提高程序的执行效率Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端, 使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数。原创 2016-05-23 16:10:17 · 600 阅读 · 0 评论 -
Redis系列学习笔记10 发布与订阅
发布与订阅定义与模型订阅命令与发布命令订阅频道或模式、退订频道或模式、发布消息。SUBSCRIBE channel [channel …]订阅给定的一个或多个频道。PSUBSCRIBE pattern [pattern …]订阅一个或多个模式, pattern 参数可以包含 glob 风格的匹配符,比如:news::* 模式可以匹配 news::bussiness 、 news::it 、 new原创 2016-05-23 16:08:41 · 444 阅读 · 0 评论 -
Redis系列学习笔记9 键过期功能
键过期功能让 Redis 在指定的时间自动删除特定的键。键过期功能的相关命令 类型 命令 设置生存时间 EXPIRE 命令和 PEXPIRE 命令。 设置过期时间 EXPIREAT 命令和 PEXPIREAT 命令。 查看剩余生存时间 TTL 命令和 PTTL 命令。 删除生存时间或过期时间 PERSIST 命令。EXPIRE key seconds将键 ke原创 2016-05-23 16:07:26 · 375 阅读 · 0 评论 -
Redis系列学习笔记20 Redis多机特性工作原理简介
Redis多机特性工作原理简介复制(replication)Sentinel集群(cluster)复制SLAVEOFSLAVEOF <ip> <port>将一个服务器(从服务器)变成为另一个服务器(主服务器)的复制品。复制的执行步骤从服务器向主服务器发送SYNC命令接到SYNC命令的主服务器会调用BGSAVE命令,创建一个RDB文件,并使用缓冲区记录接下来执行的所有写命令。当主服务原创 2016-05-23 16:16:45 · 1158 阅读 · 0 评论 -
Redis系列学习笔记-1 Redis介绍
Redis简介内存存储,速度极快redis vs memcachedredis和memcached都是键值对数据库,但是和memcached不同的是,redis的值不仅可以是字符串,它还可以是其他五种数据机构的任意一种。键->值值的种类- 字符串- 列表- 散列- 集合- 有序集合- HyperLogLog附加功能持久化:RDB和AOF,保障数据安全,方便数据备份和恢复发布与订阅原创 2016-05-23 15:57:04 · 697 阅读 · 0 评论 -
Redis系列学习笔记2 Redis字符串
字符串设置值SET key value [NX|XX][NX|XX]为可选。NX:仅在键key不存在的情况下,才进行设置操作,如果键存在,那么将不做任何动作。XX:仅在键key已经存在的情况下,才进行设置操作,如果键key不存在,那么不做任何动作SET key value NX和SETNX key value效果一样 SET key value XX和SETXX key value效果一样原创 2016-05-23 16:01:08 · 428 阅读 · 0 评论 -
Redis系列学习笔记3 散列
散列储存多个域值对。一个散列由多个域值对(field-value pair)组成,散列的域和值都可以是文字、整数、浮点数或者二进制数据。同一个散列里面的每个域必须是独一无二、各不相同的,而域的值则没有这一要求,换句话说,不同域的值可以是重复的。通过命令,用户可以对散列执行设置域值对、获取域的值、检查域是否存在等操作,也可以让 Redis 返回散列包含的所有域、所有值或者所有域值对。基本操作HSET原创 2016-05-23 16:02:00 · 1072 阅读 · 0 评论 -
Redis系列学习笔记4 列表
列表以有序的方式储存多个可重复的值LPUSH key value [value …]将一个或以上数量的值依次推入到列表的左端,命令返回新值被推入之后,列表目前包含的项数量。RPUSH key value [value …]将一个或以上数量的值依次推入到列表的右端,命令返回新值被推入之后,列表目前包含的项数量。LPOP key移除并返回列表最左端的项RPOP移除并返回列表最右端的项LLEN key返回原创 2016-05-23 16:03:38 · 451 阅读 · 0 评论 -
Redis系列学习笔记5 集合
集合存储多个各不相同的元素Redis的集合以无序的方式存储多个各不相同的元素。用户可以快速地向集合添加元素,或者从集合里面删除元素,也可以对多个集合进行集合运算操作,比如计算并集、交集和差集。SADD key element [element …]将一个或多个元素添加到给定的集合里面,已经存在于集合的元素会自动忽略,命令返回新添加到集合的元素数量。SREM key element [element原创 2016-05-23 16:04:19 · 515 阅读 · 0 评论 -
Redis系列学习笔记6 有序集合
有序集合按照元素的分值来有序地储存各不相同的元素。有序集合和集合一样,都可以包含任意数量的,各不相同的元素(element),不同于集合的是,有序集合的每个元素都关联着一个浮点数格式的分值(score),并且有序集合会按照分值,以从小到大的顺序来排列有序集合中的各个元素。虽然有序集合中的每个元素都必须是各不相同的,但是元素的分值并没有这一限制,换句话说,两个不同元素的分值可以是相同的。基本操作ZAD原创 2016-05-23 16:04:54 · 578 阅读 · 0 评论 -
Redis系列学习笔记7 HyperLogLog
HyperLogLog使用常量空间估算大量元素的基数。问题记录网站每天获得的独立 IP 数量。使用集合来储存每个访客的 IP ,通过集合性质(集合中的每个元素都各不相同)来得到多个独立 IP ,然后通过调用 SCARD 命令来得出独立 IP 的数量。为了更好地解决像独立 IP 地址计算这种问题,Redis 在 2.8.9 版本添加了 HyperLogLog 结构。HyperLogLog 介绍Hype原创 2016-05-23 16:05:40 · 503 阅读 · 0 评论 -
Redis系列学习笔记8 数据库
数据库查看键类型TYPE key返回键key储存的值的类型。 类型 说明 none 键不存在 string 字符串或者HyperLogLog(HLL是二进制值) hash 散列 list 列表 set 集合 zset 有序集合DEL key [key …]删除给定的任意多个键,不存在的键会被忽略,命令返回被成功删除的键的数量。EXISTS ke原创 2016-05-23 16:06:28 · 483 阅读 · 0 评论 -
Redis + Keepalived主从集群的搭建及故障转移
Redis + Keepalived主从集群的搭建及故障转移设计思路:当 Master 与 Slave 均运作正常时, Master负责服务,Slave负责Standby;当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭主从复制功能;当 Master 恢复正常,则从Slave同步数据,同步数据之后关闭主从复制功能,恢复Master身份,于此同时Slave等待Maste原创 2016-06-06 14:22:27 · 4038 阅读 · 1 评论