随笔分类 -  Redis

摘要:Redis 2.4版本之后就内置队列的功能了,如果是日常比较简单的队列应用,可以选择Redis , 效率还很高的!! Redis 还能实现 有序 和 无序 两种队列(只讨论生产者和消费者这种模式的队列): 一、有序队列: 1、生产者: $redis = new Redis(); $redis->pc 阅读全文
posted @ 2016-09-21 15:18 jinchunguang 编辑
摘要:本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 《详细讲解redis数据结构(内存模型)以及常用命令》 《redis高级应用(主从、事务与锁、持久化)》 本文我们继续学习redis的高级特性——集群。本文主要内容包括集群搭建、集群分区原理和集群 阅读全文
posted @ 2016-07-18 19:38 jinchunguang 编辑
摘要:上文《详细讲解redis数据结构(内存模型)以及常用命令》介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性。目录如下: 安全性设置 设置客户端操作秘密 客户端授权方式 主从复制 主从复制的特点 主从复制的过程 配置主从服务器 事务与锁 事务开启与取消 乐观锁 持久化机 阅读全文
posted @ 2016-07-18 19:38 jinchunguang 编辑
摘要:redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据。当前主流的分布式缓存技术有redis,memcached,ssdb,mongodb等。既可以把redis理解为理解为缓存技术,因为它的数据都是缓存在内从中的;也可以 阅读全文
posted @ 2016-07-18 19:37 jinchunguang 编辑
摘要:Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String、List、Hash、Set和Sorted Set。 Redis数据类型内存结构分析 Redis内部使用一个redisObject对象来 阅读全文
posted @ 2016-07-18 19:37 jinchunguang 编辑
摘要:前言 点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql等 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。 直接写入Mysql 直接写入Mysql是最简单的做法。 做两个表即可, post_li 阅读全文
posted @ 2016-07-18 19:34 jinchunguang 编辑
摘要:安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/nicolasff/phpredis。 PHP安装re 阅读全文
posted @ 2016-07-07 23:29 jinchunguang 编辑
摘要:分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。 分区的优势 通过利用多台计算机内存的和值,允许我们构造更大的数据库。 通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。 分区的不足 redis的一些特性在分区方面表现的不 阅读全文
posted @ 2016-07-07 23:28 jinchunguang 编辑
摘要:安装 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动: 首先你需要下载驱动包,下载 jedis 阅读全文
posted @ 2016-07-07 23:28 jinchunguang 编辑
摘要:Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 服务端处理命令,并将结果返回给客户端。 Redis 管道技术 Redis 管道技术可以在服务端 阅读全文
posted @ 2016-07-07 23:27 jinchunguang 编辑
摘要:Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: 实例 以下实例同时执行 10000 个请求来检测性能: redis 性能测试工具可选参数如下所示: 实例 以下实例我们使用了多个参数来测试 redis 性能: 以上实例中主机为 127.0.0.1,端口号 阅读全文
posted @ 2016-07-07 23:26 jinchunguang 编辑
摘要:Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作: 首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。 然后为这个 socket 设置 阅读全文
posted @ 2016-07-07 23:26 jinchunguang 编辑
摘要:Redis SAVE 命令用于创建当前数据库的备份。 语法 redis Save 命令基本语法如下: 实例 该命令将在 redis 安装目录中创建dump.rdb文件。 恢复数据 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目 阅读全文
posted @ 2016-07-07 23:25 jinchunguang 编辑
摘要:我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。 实例 我们可以通过以下命令查看是否设置了密码验证: 默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务 阅读全文
posted @ 2016-07-07 23:25 jinchunguang 编辑
摘要:Redis 服务器命令主要是用于管理 redis 服务。 实例 以下实例演示了如何获取 redis 服务器的统计信息: Redis 服务器命令 下表列出了 redis 服务器的相关命令: 阅读全文
posted @ 2016-07-07 23:24 jinchunguang 编辑
摘要:Redis 连接命令主要是用于连接 redis 服务。 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: Redis 连接命令 下表列出了 redis 连接的基本命令: 阅读全文
posted @ 2016-07-07 23:23 jinchunguang 编辑
摘要:Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: 阅读全文
posted @ 2016-07-07 23:22 jinchunguang 编辑
摘要:Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一个事务从开始到执行会经历以下三 阅读全文
posted @ 2016-07-07 23:22 jinchunguang 编辑
摘要:Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。 语法 Eval 命令的基本语法如下: 实例 以下实例演示了 redis 脚本工作过程: Redis 脚本命令 下表列出了 redis 脚本常用命令: 阅读全文
posted @ 2016-07-07 23:22 jinchunguang 编辑
摘要:Redis 在 2.8.9 版本添加了 HyperLogLog 结构。 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。 在 Redis 里面,每个 HyperLogLo 阅读全文
posted @ 2016-07-07 23:21 jinchunguang 编辑