Redis
文章平均质量分 90
孙悟空2015
追根溯底,回归本质,挖掘兴趣,激发思考。
展开
-
学习Redis就是如此简单
一、基础简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同原创 2015-05-14 18:11:26 · 1071 阅读 · 0 评论 -
redis命令详解与使用场景举例——Server(服务器)
BGREWRITEAOF执行一个 AOF文件 重写操作。重写会创建一个当前 AOF 文件的体积优化版本。 即使 BGREWRITEAOF 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 BGREWRITEAOF 成功之前不会被修改。 重写操作只会在没有其他持久化工作在后台执行时被触发,也就是说: ● 如果 Redis 的子进程正在执行快照的保存工作,那么 AOF 重写的操作会被预原创 2017-04-27 13:46:58 · 1341 阅读 · 0 评论 -
redis命令详解与使用场景举例——Connection(连接)
redis-cli -h url [-p]客户端连接redis -h 指定redis地址 -p 端口号,默认3306AUTH password通过设置配置文件中 requirepass 项的值(使用命令 CONFIG SET requirepass password ),可以使用密码来保护 Redis 服务器。 如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命原创 2017-04-26 18:40:39 · 3676 阅读 · 0 评论 -
redis命令详解与使用场景举例——Script(脚本)
EVAL script numkeys key [key …] arg [arg …]从 Redis 2.6.0 版本开始,通过内置的 Lua 解释器,可以使用 EVAL 命令对 Lua 脚本进行求值。 script 参数是一段 Lua 5.1 脚本程序,它会被运行在 Redis 服务器上下文中,这段脚本不必(也不应该)定义为一个 Lua 函数。 numkeys 参数用于指定键名参数的个数。原创 2017-04-26 18:19:02 · 2463 阅读 · 0 评论 -
redis命令详解与使用场景举例——Transaction(事务)
DISCARD取消事务,放弃执行事务块内的所有命令。 如果正在使用 WATCH 命令监视某个(或某些) key,那么取消所有监视,等同于执行命令 UNWATCH 。 可用版本: 2.0.0+ 时间复杂度: O(1)。 返回值: 总是返回 OK 。redis> MULTIOKredis> PINGQUEUEDredis> SET greeting "hello"QUEUEDr原创 2017-04-25 18:13:55 · 1323 阅读 · 0 评论 -
redis命令详解与使用场景举例——Pub与Sub(发布订阅)
PSUBSCRIBE pattern [pattern …]订阅一个或多个符合给定模式的频道。 每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。 可用版本: 2.0.0+原创 2017-04-25 18:06:16 · 2893 阅读 · 0 评论 -
redis命令详解与使用场景举例——Set(集合)
SADD key member [member …]将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 当 key存在且 不是集合类型时,返回一个错误。 在Redis2.4版本以前, SADD 只接受单个 member 值。 可用版本: 1.0.0+ 时间复杂度原创 2017-04-24 18:59:28 · 3456 阅读 · 1 评论 -
redis命令详解与使用场景举例——SortedSet(有序集合)
ZADD key score member [[score member] [score member] …]将一个或多个 member 元素及其 score 值加入到有序集 key 当中。 如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。 score 值可以是整数值或双精原创 2017-04-24 22:13:27 · 4712 阅读 · 1 评论 -
redis命令详解与使用场景举例——List
BLPOP key [key …] timeoutBLPOP 是列表的阻塞式(blocking)弹出原语。 它是 LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。 当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。 非阻塞行为 当 BLPOP 被调用时,如果给原创 2017-04-23 15:30:35 · 2618 阅读 · 0 评论 -
redis命令详解与使用场景举例——Hash
HDEL key field [field …]删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 在Redis2.4以下的版本里, HDEL 每次只能删除单个域,如果你需要在一个原子时间内删除多个域,请将命令包含在 MULTI / EXEC块内。 可用版本: 2.0.0+ 时间复杂度: O(N), N 为要删除的域的数量。 返回值: 被成功移除的域的数量,不包括被忽略的域原创 2017-04-21 18:51:18 · 4492 阅读 · 0 评论 -
redis命令详解与使用场景举例——key
DEL key [key …]删除给定的一个或多个 key 。 不存在的 key 会被忽略。 时间复杂度: O(N), N 为被删除的 key 的数量。 删除单个字符串类型的 key ,时间复杂度为O(1)。 删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为O(M), M 为以上数据结构内的元素数量。 返回值: 被删除 key 的数量 删除单个 key 删除一原创 2017-04-20 17:09:11 · 4087 阅读 · 1 评论 -
redis命令详解与使用场景举例——String
APPEND key value如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。 可用版本: 2.0.0+ 时间复杂度: 平摊O(1) 返回值: 追加 value 之后, key 中字符串的长度。原创 2017-04-21 17:08:26 · 5403 阅读 · 4 评论 -
基于Codis的Redis分布式缓存实现
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 , 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。Codis不原创 2017-05-03 18:05:16 · 8734 阅读 · 0 评论 -
redis实现HA(High Available)的两种实现方式-Sentinel与Keepalived
Sentinel先来说说Sentinel,Sentinel是redis自带的一种实现HA的方式,如果在实际应用中这种方式用的比较少,比较流行的还是KeepAlived。 Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: ● 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。原创 2017-05-03 09:31:37 · 4157 阅读 · 0 评论 -
redis集群实现
集群简介Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。 Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的性能, 并导致不可预测的行为。 Redis 集群通过分区(partition)来提供一定程度的可用性原创 2017-05-02 18:27:17 · 1032 阅读 · 0 评论 -
redis的持久化、备份、容灾
Redis持久化Redis 提供了多种不同级别的持久化方式: ● RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。 ● AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后原创 2017-04-28 17:51:01 · 2208 阅读 · 0 评论 -
redis主从同步(replication)详解
ReplicationRedis 支持简单且易用的主从复制(master-slave replication)功能, 该功能可以让从服务器(slave server)成为主服务器(master server)的精确复制品。 以下是关于 Redis 复制功能的几个重要方面: ● Redis 使用异步复制。 从 Redis 2.8 开始, 从服务器会以每秒一次的频率向主服务器报告复制流(repl原创 2017-04-28 17:43:27 · 7630 阅读 · 0 评论 -
Linux如何安装redis
1、下载源码,解压缩后编译源码。.$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz$ tar xzf redis-2.8.3.tar.gz$ cd redis-2.8.3$ make2、 编译完成后,在安装目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.con原创 2015-05-25 21:39:05 · 765 阅读 · 0 评论 -
redis的事务(transaction)详解
事务(Transaction)MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务的基础。 事务可以一次执行多个命令, 并且带有以下两个重要的保证: ● 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 ● 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。原创 2017-04-27 18:19:18 · 3388 阅读 · 0 评论