使用 Redis 流实现消息队列的代码
在介绍了 Redis 流的基本功能之后, 现在是时候使用这些功能来构建一些实际的应用了。 消息队列作为流的典型应用之一, 具有非常好的示范性, 因此我们将使用 Redis 流的相关功能构建一个消息队列应用, 这个消息队列跟我们之前使用其他 Redis 数据结构构建的消息队列具有相似的功能。
代...[2019/11/4]
python通过连接池连接redis,操作redis队列
在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多。所以为了节省资源,减少多次连接损耗,连接池的作用相当于缓存了多个客户端与redis服务端的连接,当有新的客户端来进行连接时,此时,只需要去...[2019/11/4]
redis系列之------对象
前言
Redis 并没有直接使用数据结构来实现键值对数据库, 而是基于这些数据结构创建了一个对象系统, 这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象, 每种对象都用到了至少一种我们前面所介绍的数据结构。
通过这五种不同类型的对象, Redis ...[2019/11/4]
Redis 密码设置和查看密码
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
1、初始化Redis密码:
在配置文件中有个参数: requirepa 这...[2019/11/4]
redis数据库及与python交互用法简单示例redis数据库及与python交互用法简单示例
本文实例讲述了redis数据库及与python交互用法。分享给大家供大家参考,具体如下:
redis数据操作
1.string类型:主要存储字符串
操作
命令
设置键值
...[2019/11/1]
详解 Redis 内存管理机制和实现
Redis是一个基于内存的键值数据库,其内存管理是非常重要的。本文内存管理的内容包括:过期键的懒性删除和过期删除以及内存溢出控制策略。
最大内存限制
Redis使用 maxmemory 参数限制最大可用内存,默认值为0,表示无限制。限制内存的目的主要 有:
用于缓存场景,当...[2019/10/29]
springboot接入cachecloud redis示例实践springboot接入cachecloud redis示例实践
最近项目中需要接入 Redis CacheCloud, CacheCloud是一个开源的 Redis 运维监控云平台,功能十分强大,支持Redis 实例自动部署、扩容、碎片管理、统计、监控等功能, 特别是支持单机、sentinel 、cluster三种...[2019/10/28]
Redis学习四(运维指南).Redis学习四(运维指南).
一、上线规划
一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。
redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis 主处理模式是单进程的。
留意 redis 日志文...[2019/10/28]
5分钟彻底理解Redis持久化5分钟彻底理解Redis持久化
Redis持久化
RDB快照
在默认情况下,Redis将内存数据库快照保存到dump.rdb的二进制文件中。
可以对Redis进行设置,让它在“N秒内数据集至少有N个改动”, 这一条件被满足时,自动保存一次数据集。比如说:让Redis满足“60秒内至少有1000个键被改动”这一个条件时,...[2019/10/28]
Spring Cache使用RedisCache案例解析
一、RedisCache使用演示
Redis是一个key-value存储系统,在web应用上被广泛应用,这里就不对其过多描述了。
本章节示例是在Spring Boot集成Spring Cache的源码基础上进行改造。源码地址:https: github.com/imyanger pri...[2019/10/24]
Redis学习三(进阶功能).
一、排序
redis 支持对 list,set 和 zset 元素的排序,排序的时间复杂度是 O(N+M*log(M))。(N 是集合大小,M 为返回元素的数量)
sort key [BY pattern] [LIMIT offset count] [GET pattern [GET ...[2019/10/22]
Redis数据库Redis数据库
1、Redis概念
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持pus...[2019/10/22]
Redis总结Redis总结
资源列表:
Redis 命令参考
Commands
Redis是什么
Redis是一个开源(BSD许可)的内存中的数据结构存储,用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希表、列表、无序集合、有序集合的范围查询,位图、基数统计和地理空间索引的与查询。...[2019/10/21]
Redis 复制过程详解
Redis 的复制功能分为同步( sync )和命令传播( command propagate )两个步骤:
同步用于将从服务器的数据库状态更新至主服务器当前所处的数据库状态。
命令传播则用于在主服务器的数据库状态被修改,导致主从服务器的数据库状态出现不一致时,让主从服务器的数据...[2019/10/21]
redis系列之------数据库
前言
当我们在Redis数据库中set一个KV的时候,这个KV保存在哪里?如果我们get的时候,又从哪里get出来。时间复杂度,空间复杂的等等,怎么优化等等一系列问题。
服务器中的数据库
Redis服务器将所有数据库信息都保存在redis.h##redisService结构体中。...[2019/10/21]
Redis学习二(数据操作).
key 操作
删除 key:del key
查看所有的 key(一次性遍历整个数据库,生产上慎重使用):keys [pattern]
利用 cursor 分页查询记录(渐进的遍历整个数据库,生产上推荐):scan cursor [MATCH pattern] [COUNT count]...[2019/10/21]
Redis实现分布式文件夹锁Redis实现分布式文件夹锁
缘起
最近做一个项目,类似某度云盘,另外附加定制功能,本人负责云盘相关功能实现,这个项目跟云盘不同的是,以项目为分配权限的单位,同一个项目及子目录所有有权限的用户可以同时操作所有文件,这样就很容易出现并发操作,而且表结构设计的时候,定下来文件和文件夹都有个path字段,存储的是所在父...[2019/10/21]
一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。
内存使用统计
通过 info memory 命令可以获得 Re...[2019/10/17]
redis系列之------字典redis系列之------字典
前言
字典, 又称符号表(symbol table)、关联数组(a ociative array)或者映射(map), 是一种用于保存键值对(key-value pair)的抽象数据结构。
在字典中, 一个键(key)可以和一个值(value)进行关联(或者说将键映射为值), 这些...[2019/10/16]
docker部署redis集群docker部署redis集群
一、查询最新redis镜像
docker search redis
二、下载redis镜像
docker pull redis
三、创建一个文件夹,以及创建redi...[2019/10/16]
Redis和MongoDB区别
MongoDB 更类似 MySQL,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询 JSON 数据,能存储海量数据,但是不支持事务。Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,支持多种类型的数据结构,可用作数据库,高速缓存和消息队列代理。1、内存管理机...[2019/10/15]
Yii框架的redis命令使用方法简单示例
本文实例讲述了Yii框架的redis命令使用方法。分享给大家供大家参考,具体如下:
<?php
\Yii::$app->redis->set(''user'',''aaa'');
\Yii::$app->redis->set(''user2''...[2019/10/15]
redis系列之------链表
前言
链表提供了高效的节点重排能力, 以及顺序性的节点访问方式, 并且可以通过增删节点来灵活地调整链表的长度。
作为一种常用数据结构, 链表内置在很多高级的编程语言里面, 因为 Redis 使用的 C 语言并没有内置这种数据结构, 所以 Redis 构建了自己的链表实现。
大家...[2019/10/15]
Redis 介绍学习
1、Redis 简介
Redis 是一个支持数据结构更多的键值对数据库。它的值不仅可以是字符串等基本数据
类型,也可以是类对象,更可以是 Set、List、计数器等高级的数据结构。
Memcached 也可以保存类似于 Set、List 这样的结构,但是如果说要向 ...[2019/10/14]
redis系列之------简单的动态字符串(SDS)
前言
Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将 SDS 用作 Redis 的默认字符串表示。
个人感觉SDS类似...[2019/10/14]
Redis AOF 持久化详解Redis AOF 持久化详解
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。
为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。RDB的介绍在这...[2019/10/10]
Redis 的主从同步(复制)
Redis 的主从同步(复制)
Redis 的主从同步(复制)
什么是主从同步(复制)
假设有两个 redis 实例 ⇒ A 和 B
B 实例的内容与 A 实例的内容保持同步
那么称 A 实例是主数据库,B 实例是从数据库
这个过程称为主从同步
为什么...[2019/10/8]
Redis
目录
1.入门概述
1.1redis是什么?
1.2redis能干什么?
1.3redis官网?
1.4从哪些方面去学习redis?
2...[2019/10/8]
同事没正确使用redis,把我害苦了...
首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能有问题,开始排查。 首先发现开发的本地ide没有发现问...[2019/9/30]
redis3集群管理redis3集群管理
以下操作基于redis3.X版本:Redis集群存储原理:Redis 集群使用数据分片(sharding),而非一致性哈希(consistency hashing)来实现,一个 Redis 集群包含 16384 个哈希槽,数据库中的每个键都属于这 16384 个哈希槽的其中一个,集群使用...[2019/9/27]
【Redis】基本数据类型及命令操作(超详细)【Redis】基本数据类型及命令操作(超详细)
一、String
1.1 概述
1.2 相关命令列表
1.3 命令示例
二、List
2.1 概述:
2.2 相关命令列表:
2.3 命令示例:
2.4 链表结构的小技巧:
三、HashSet
3.1 概述
3.2 相关命令列表
...[2019/9/27]
【面试】我是如何在面试别人Redis相关知识时“软怼”他的
事出有因 Redis是一个分布式NoSQL数据库,因其数据都存储在内存中,所以访问速度极快,因此几乎所有公司都拿它做缓存使用,所以Redis常被称为分布式缓存。一次我的一个同事让我帮他看Redis相关的问题,我看到了他使用了Hash数据类型,其实它就对应Java里的Map。同事要往里...[2019/9/26]
redis数据库的使用redis数据库的使用
一.安装redis与可视化操作工具
可视化工具:RedisDesktopManager
redis载地址:https: github.com/MSOpenTech/redi releases。
二.在服务中管理redis服务器的开启关闭
redis-server.exe redis....[2019/9/26]
Redis之缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
1、缓存雪崩
发生场景:当Redis服务器重启或者大量缓存在同一时期失效时,此时大量的流量会全部冲击到数据库上面,数据库有可能会因为承受不住而宕机
解决办法:
1)随机均匀设置失效时间
2)设置过期标志更新缓存
3)并发量不是特别多的时...[2019/9/26]
redis学习
一、redis特性
1.高性能的key-value非关系数据库
2、支持存储的value数据类型包括:String(字符串)、List(列表)、Set(集合)、Zset(有序集合)、Hash(哈希表)。
施工中。。。
参考:https: www.cnblogs.com/x...[2019/9/25]
springboot整合redis集群过程解析
简介
在springboot使用搭建好的redis集群
添加redis和连接池依赖
<!--redis连接池 start-->
<dependency>
<groupId>org.apache.common...[2019/9/24]
基于Redis扩展模块的布隆过滤器使用
什么是布隆过滤器?它实际上是一个很长的二进制向量和一系列随机映射函数。把一个目标元素通过多个hash函数的计算,将多个随机计算出的结果映射到二进制向量的位中,依次来间接标记一个元素是否存在于一个集合中。布隆过滤器可以做什么?布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率...[2019/9/24]
Part_one:Redis第一次接触Part_one:Redis第一次接触
1.redis学习
数据默认写入到内存,如果断电,服务器宕机,redis进程挂掉,数据会丢失。
selenium操作浏览器时,要注意浏览器资源释放,方式内存泄露,崩溃
mysql是文件型数据库,默认持久化到硬盘上
redis 是内存型数据库
数据默认写入到内存,如果断电,服...[2019/9/23]
Part_three:Redis持久化存储
redis持久化存储
Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。
1.RDB持久化
redis提供了RDB持久化的功能,这个功能可以将redis在内存中的状...[2019/9/23]
redis入门初学知识 - 戴玉金--php
一、 Redis 介绍
Remote Dictionary Server(Redis)是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(...[2019/9/20]
05. redis事务
目录
Redis 事务
事务
1. 命令有序
2. 始终原子
开启使用事务
Redis事务中出现错误
1. EXEC前的...[2019/9/20]
Windows下Redis安装配置和使用注意事项Windows下Redis安装配置和使用注意事项
Windows下Redis安装配置和使用注意事项
一:下载
下载地址:
https: github.com/microsoftarchive/redi releases
文件介绍:
本文以3.2.100为例
Redis-x64-3....[2019/9/20]
linux安装redis - 戴玉金--php
一.本文介绍两种安装单机的redis方式,一种是按步骤执行安装,每次都按步骤安装是不是很烦,那我们使用脚本安装,执行这个脚本就会自动安装好redis
二.按步骤安装:
1.我们先选择安装目录,我们比如安装在/data/temp目录下,为防止目录没有,先创建目录
m...[2019/9/20]
脚本批量执行Redis命令
1、将命令写在文件中
数据量比较大的话,建议用程序去生成文件。例如:
List<String> planIdList = planDao.findAll().parallelStream().map(PlanModel::getId).map(String::va...[2019/9/20]
php+redis实现消息队列功能示例php+redis实现消息队列功能示例
本文实例讲述了php+redis实现消息队列功能。分享给大家供大家参考,具体如下:
个人理解在项目中使用消息队列一般是有如下几个原因:
把瞬间服务器的请求处理换成异步处理,缓解服务器的压力
实现数据顺序排列获取
redis实现消息队列步骤如下:
1).redis函数rpush,...[2019/9/19]
Redis自动化安装以及集群实现
Redis实例安装
安装说明:自动解压缩安装包,按照指定路径编译安装,复制配置文件模板到Redis实例路的数据径下,根据端口号修改配置文件模板
配置文件,当前shell脚本,安装包
参数1:basedir,redis安装包路径
参数2:安装实例路径
参数3:安装包名称
参数4:...[2019/9/19]
Redis事务控制
Redis事务控制
1、Redis事务控制的相关命令汇总
命令名
作用
MULTI
表示开始收集命令,后面所有命令都不是马上执行,而是加入到一个队列中。
EXEC
执行MULTI后面命令队列中的所有命令。
DISCARD
放弃执行队列中的命令。
WATCH
“观察...[2019/9/19]
redis发布订阅Java代码实现过程解析
前言
Redis除了可以用作缓存数据外,另一个重要用途是它实现了发布订阅(pub ub)消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
为了实现redis的发布订阅机制,首先要打开redis服务;其次,引入redis需要的jar包,在pom.xml配置文件加入以下代码:...[2019/9/17]
Redis五大数据类型详解
关于Redis的五大数据类型,它们分别为:String、List、Hash、Set、SortSet。本文将会从它的底层数据结构、常用操作命令、一些特点和实际应用这几个方面进行解析。对于数据结构的解析,本文只会从大的方面来解析,不会介绍详细的代码实现。
String
1.实现结构
...[2019/9/16]
Redis
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/rem...[2019/9/16]