One by one,一步步开始使用Redis吧(一) 最近有需求需要使用redis,之前也是随便用用,从来也没有归纳总结,今天想睡觉,但是又睡不着,外面阳光不错,气温回升了,2019年6月1日,成都的夏天来了又走,走了又来,这次应该是真的来了. Redis安装 Redis 是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store).它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(…
一.集群模式 Redis集群是一个由多个主从节点组成的高可用集群,它具有复制.高可用和分片等特性 二.集群部署 1.环境 3台主机分别是: 192.168.160.146 192.168.160.152 192.168.160.153 每台服务器1主1从,共3主3从 相关安装包存储路径:/usr/local/redis-5.0.2 2.部署 ① Redis安装详见Redis系列(一):Redis简介 ② 进入redis-5.0.2 cd /usr/local/redis-5.0.2 ③ 创建集群…
一.Redis集群的水平扩展 Redis3.0版本以后,有了集群的功能,提供了比之前版本的哨兵模式更高的性能与可用性,但是集群的水平扩展却比较麻烦,接下来介绍下Redis高可用集群如何做水平扩展,在原集群的6个节点的基础上新增2个节点,由原来的3主3从变成4主4从,原先的3主3从部署详见Redis系列(二):Redis高可用集群,如下图: 二.水平扩展具体操作 ① 将redis-5.0.2文件夹拷贝到新的主机192.168.160.154上去,(1)scp -r /usr/local/redis…
序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查阅,更深入的挖掘redis潜力. 2.掌握redis中的事务,让你的数据完整性一致性拥有更优的保障. redis命令之key操作命令一览 #查看命令keys,此命令支持glob-style的通配符格式,*表示可以匹配任意一个或多个字符,?表示任意一个字符,[abc]表示a.b.c中的任意一个字符# redis 127.0.0.1:6379>flushdb    ----清除当前数据库. redis 127.0.…
前言: 真的越来越喜欢SpringBoot了,这是SpringBoot学习系列之一. 正文: 1:首先在pom文件中添加依赖,记得是spring-boot-starter-data-redis,不是spring-boot-starter-redis <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star…
上一篇php7环境的搭建 真是火爆.仅仅两天时间,就破了我之前swagger系列的一片文章,看来,大家对搭建好开发环境真是情有独钟. 为了訪问量,我今天再来一篇redis的搭建. 当然不能仅仅是redis的搭建. 否则,多不上档次呀.这种文章一抓一大把.这次还顺带把redis监控程序的搭建给弄上了.非常高大上的额. redis的安装 哎,写到这儿,说一句,诅咒联通这网络,联通网络一上,打开vpn,照样不能訪问外网,联baidu都一卡一卡的. redis就不用yum来进行安装了.直接从官方下载来安…
一.Redis概述 Redis是一个开源(遵循BSD协议)Key-Value数据结构的内存存储系统,用作数据库.缓存和消息代理.它支持5种数据结构:字符串string.哈希hash.列表list.集合set和有序的集合zset.Redis支持Lua脚本,哨兵机制和集群实现高可用.适用场景:缓存.投票.抽奖.分布式session.排行榜.计数.队列.发布订阅等:具体介绍见Redis官网. 二.Redis安装 ① 下载地址:https://redis.io/download ②  安装gcc:yum…
本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> <redis高级应用(集群搭建.集群分区原理.集群操作> 本文我们继续学习redis与spring的整合,整合之后就可以用redisStringTemplate的setNX()和delete()方法实现分布式锁了. Redis与spring的整合 相关…
在前面一篇博客中我们已经学完了redis的五种数据类型操作,回顾一下,五种操作类型分别为:字符串类型(string).列表类型(list).散列类型(hash).集合类型(set).有序集合类型(sorted_set).学完基础语法操作后下一步就是通过几个案例来实践操作一下redis.在这里不会采用任何其他语言,单纯使用redis进行模拟操作. redis的基础操作看这一篇:redis入门到精通系列(一):入门redis看这一篇就够了 (一)实例一:请求调用次数的限制 应用场景:我们都知道服务器…
一.在pom.xml中增加redis需要的jar包 <!--spring redis相关jar包--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>…
首先Redis在Windows上的安装前面的文章已经介绍过,这里不介绍了,直奔主题, 直接来看看.net怎么使用Redis 首先需要引用redis相关的dll,两个途径,意识网上下载编译好的dll :https://github.com/ServiceStack/ServiceStack.Redis,下载解压后项目引用一下即可. 另一途径就是从nuget安装(推荐): 新建一个Console程序,做一个简单的例子,在.NET中设置并获取城市的值. 首先Redis服务肯定要先起来:redis-se…
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Redis 2.背景 Redis 的数据库的整合在 java 里面提供的官方工具包:jedis,所以即便你现在使用的是 SpringBoot,那么也继续使用此开发包. 2.1.RedisTemplate 模版操作 在 Spring 支持的 Redis 操作之中提供有一个 RedisTemplate 处理程序类,利用这个类可以非常方便的实现 Redis 的各种基本数 据操作. 1. 修改项…
一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- redis cd redis make && make install 二.配置 . Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no . 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.p…
一.简介 Redis 的数据库的整合在 java 里面提供的官方工具包:jedis,所以即便你现在使用的是 SpringBoot,那么也继续使用此开发包. 二.redidTemplate操作 在 Spring 支持的 Redis 操作之中提供有一个 RedisTemplate 处理程序类,利用这个类可以非常方便的实现 Redis 的各种基本数 据操作. 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId…
在centos7的docker中部署 redis,这里只介绍 单节点的部署. docker run -p 6379:6379 -v $PWD/data:/data -d redis:latest redis-server --appendonly yes 命令说明: -p 6379:6379 :将容器的6379端口映射到主机的6379端口 -d后台运行 redis:latest 拉取redis的latest版本(也可以指定版本 例如 redis:3.2) -v $PWD/data:/data :…
本示例基于Centos 7,在阿里云的三台机器上部署redis集群,假设目前使用的账号为release,拥有sudo权限. 由于Docker官方镜像下载较慢,可以开启阿里云的Docker镜像下载加速器,可参考此文进行配置. 假设三台主机的ip分别为: 主机一:192.168.0.1 主机二:192.168.0.2 主机三:192.168.0.3 三台主机的安装步骤相似,以主机一为例: 1. 安装docker服务: sudo yum install -y docker 2. 启动docker服务:…
http://blog.csdn.net/yerenyuan_pku/article/details/72863323 我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的时候使用的是单机版,但是当项目上线后使用的则是集群版,这就需要能够方便的在单机版和集群版之间进行切换.我们的做法便是定义一个JedisClient接口,然后新建两个实现类来分别处理单机版和集群版,最后在spring容器中进行配置管理即可. 首先在taotao-content-service工程下新建…
文章目录 一.说明 1.1 Redis 客户端说明 1.2 Redis可视化软件 1.3 项目结构说明 1.3 依赖说明 二.spring 整合 jedis 2.1 新建基本配置文件和其映射类 2.2 单机配置 2.3 集群配置 2.4 单机版本测试用例 2.5 集群版本测试用例 三.spring 整合 redisson 2.1 单机配置 2.2 集群配置 2.3 存储基本类型测试用例 2.4 存储实体对象测试用例 附:Redis的数据结构和操作命令 源码Gitub地址:https://gith…
文章目录 一.说明 1.1 Redis 客户端说明 1.2 Redis可视化软件 1.3 项目结构说明 1.3 依赖说明 二.spring 整合 jedis 2.1 新建基本配置文件 2.2 单机配置 2.3 集群配置 2.4 单机版本测试用例 2.5 集群版本测试用例 三.spring 整合 redisson 2.1 单机配置 2.2 集群配置 2.3 存储基本类型测试用例 2.4 存储实体对象测试用例 附:Redis的数据结构和操作命令 源码Gitub地址:https://github.co…
1. Redis 是什么?都有哪些使用场景? 我们先来理解经典的CAP理论: 一致性:是指从数据层面来看的一致性. 可用性:是指从系统层面的可用性. 容错性:是指从网络层面的的容错性. 数据库逐渐从关系数据库向不同领域不同层次分化.随着读多写少场景的出现,导致需要读取数据的时间变慢,为了提升性能,出现了数据库缓存技术,对数据库的读取进行分离.web2.0时代,网民的生产力大增,存储总量也在增加,目前还是读多写少模式,原有的缓存技术显然不能满足写的压力,所以,出现了分库分表,实现读写分离.其中比较…
目的 本文主要介绍以下两点: 一. 安装Redis 二. 设置开机启动项 演示 一. 安装Redis 打开Redis官网,右击复制链接. yum install -y gcc # 先更新下编译环境 cd /opt/software wget http://download.redis.io/releases/redis-5.0.7.tar.gz # 粘贴复制的链接 tar xzf redis-5.0.7.tar.gz cd redis-5.0.7 make MALLOC=libc #编译 mak…
一.持久化 所谓的持久化就是把内存中的数据写到磁盘中去,防止服务宕机后内存数据丢失.Redis4.0之前提供了两种持久化方式:RDB(默认) 和AOF,Redis4.x之后新增了一种混合持久化(本文所用的Redis版本是redis‐5.0.2) 1.RDB RDB是Redis Database缩写,在默认情况下,Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中.可以对Redis进行设置,让它在“ N秒内至少有M个键值改动”这一条件被满足时,自动保存一次数据.比如下图,900秒…
一.什么是RESP Redis是Redis序列化协议,Redis客户端RESP协议与Redis服务器通信.Redis协议在以下几点之间做出了折衷: 简单的实现 快速地被计算机解析 简单得可以能被人工解析 二.RESP协议描述 RESP协议在Redis 1.2中引入,但在Redis 2.0中成为与Redis服务器通信的标准方式.这个通信方式就是Redis客户端实现的协议.RESP实际上是一个序列化协议,它支持以下数据类型:简单字符串.错误.整数.大容量字符串和数组. 1.RESP在Redis中用作…
Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sorted Set. Redis数据类型内存结构分析 Redis内部使用一个redisObject对象来表示所有的key和value.redisObject主要的信息包括数据类型(type).编码方式(encoding).数据指针(ptr).虚拟内存(vm)等.type代表一个value对象具体是何种数…
1 概述 本文演示了如何在Spring Boot中将Redis作为缓存使用,具体的内容包括: 环境搭建 项目搭建 测试 2 环境 Redis MySQL MyBatis Plus 3 Redis安装 Redis安装非常简单,以笔者的Manjaro为例,直接paru安装: paru -S redis Ubuntu.CentOS之类的都提供了软件包安装: sudo apt install redis sudo yum install redis 如果想从源码编译安装: wget http://dow…
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们牛刀小试,编写了redisManager,并且成功执行了redis命令. 那这一节,就让我们来折腾下在线执行Redis命令. 由于某些特定的原因,在使用aredis的时候有了一些不好的体验,主要是以下几个方面, 所以我打算弃坑了. get和set操作没有支持中文,非常难受 对于报错信息不是那么友好,因为我这边出现了…
(一)哨兵概述 前面我们讲了redis的主从复制,为了实现高可用,会选择一台服务器作为master,多台服务器作为slave.现在有这样一种情况,master宕机了,这时系统会选择一台slave作为master,然后把宕机的master下线,再通知所有slave新的master是谁.这里就产生了一个问题,master是否宕机.选择哪台slave作为master都是谁来决定的? 在主从复制中由哨兵(sentinel)来完成这些操作,哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现…
(一)主从复制介绍 前面所讲的关于redis的操作都属于单机操作,单机操作虽然操作简单,但是处理能力有限,无法高可用.所谓高可用性,就是指当一台服务器宕机的时候,有备用的服务器能顶替上,在单机操作上这是无法实现的,因此就出现了主从复制. 我们把一台服务器看作是主服务器(master),把另外多台服务器看作是从服务器(slave),主从复制就是将master中的数据即时有效的复制到slave中. 主从复制特征: 一个master可以拥有多个slave,一个slave只对应于一个master mas…
高级数据类型和五种基本数据类型不同,并非新的数据结构.高级数据类型往往是用来解决一些业务场景. (一)BitMaps (1.1) BitMaps概述 在应用场景中,有一些数据只有两个属性,比如是否是学生,是否是党员等等,对于这些数据,最节约内存的方式就是用bit去记录,以是否是学生为例,1代表是学生,0代表不是学生.那么1000110就代表7个人中3个是学生,这就是BitMaps的存储需求. Bitmaps是一个可以对位进行操作的字符串,我们可以把Bitmaps想象成是一串二进制数字,每个位置只…
(一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务.熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行.今天我们就来了解redis中的事务是如何执行和使用的. (二)redis事务的操作 在mysql中,事务的执行通过以下三步: begin 开启事务 commit 提交事务 rollback 回滚操作 而在redis中,事务的执行也主要有三步 multi 开启事务 设定事务的开启位置,后续的所有指令均加入到该事务中 exec 执行事务…