Linux 安装redis,redis发布订阅,持久化
安装redis
1.安装redis的方式
-yum (删除这个yum安装的redis,我们只用源码编译安装的)
-rpm
-源码编译 2.删除原本的redis
yum remove redis -y 3.下载redis源码
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
4.解压缩
tar -zxf redis-4.0.10.tar.gz 5.切换redis源码目录
cd redis-4.0.10.tar.gz 6.编译源文件
make
5.编译好后,src/目录下有编译好的redis指令
6.make install 安装到指定目录, 7.默认在/usr/local/bin 8.指定redis的配置文件 启动 redis cd进入 redis-4.0.10 touch redis-6666.conf
vim redis-6666.conf 添加内容如下 port 6666
daemonize yes
pidfile /data/6666/redis.pidfile
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
requirepass mima 创建文件夹 : mkdir -p /data/6666 9.指定配置文件启动redis服务端
redis-server redis-6666.conf 10.检查redis的进程,端口
ps -ef |grep redis
netstat -tunlp |grep redis 11.登录redis数据库
redis-cli -p 6666
登录后 输入密码才可访问
auth haohaio
redis发布订阅:
cd /opt/download/redis-4.0.10/ 窗口1,启动两个redis-cli窗口,均订阅diantai 频道(channel)
redis-cli -p 6666
进入后需要密码认证下
AUTH mima 窗口2,启动发布者向频道 diantai发送消息
redis-cli -p 6666
进入后需要密码认证下
AUTH mima PUBLISH channel msg
将信息 message 发送到指定的频道 channel SUBSCRIBE channel [channel ...]
订阅频道,可以同时订阅多个频道 UNSUBSCRIBE [channel ...]
取消订阅指定的频道, 如果不指定频道,则会取消订阅所有频道
PSUBSCRIBE pattern [pattern ...]
订阅一个或多个符合给定模式的频道,每个模式以 * 作为匹配符,比如 it* 匹配所 有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有 以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类
PUNSUBSCRIBE [pattern [pattern ...]]
退订指定的规则, 如果没有参数则会退订所有规则
PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态
注意:使用发布订阅模式实现的消息队列,当有客户端订阅channel后只能收到后续发布到该频道的消息,之前发送的不会缓存,必须Provider和Consumer同时在线。
redis持久化之RDB持久化
1.rdb持久化,可以手动触发持久化,通过redis的save命令,触发
2.rdb数据文件是压缩过的 二进制文件,认为看不懂,redis通过这个文件恢复数据
3.rdb持久化还有时间策略
save 900 1 # 秒 1个修改类的操作
save 300 10 # 秒 10个操作
save 60 10000 # 秒 10000个操作 4.使用rdb持久化的方式,在配置文件中,打开rdb持久化
cat redis-6666.conf
vim redis-6666.conf 内容如下
port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
dbfilename redis.dump
requirepass mima 5.关闭redis服务端,准备重启
redis-cli -p 6666 -a haohaio shutdown 6.使用新的支持rdb持久化的配置文件启动
redis-server redis-6666.conf 7.进入redis手动触发rdb持久化
redis-cli -p 6666
auth mima
通过save指令
save 8.让配置文件支持定期持久化
port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
dbfilename redis.dump
save 900 1
save 300 10
save 60 10000
requirepass mima
redis持久化之aof
1.配置redis支持aof持久化
cat redis-6666.conf
vim redis-6666.conf
内容如下 port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
appendonly yes
appendfsync everysec 关闭
redis-cli -p 6666 shutdown 2.指定配置文件启动,支持aof
redis-server redis-6666.conf 在第一次启动的时候,就开启了aof持久化 redis-cli -p 6666
auth mima 3.不重启redis,切换rdb数据到aof数据中
1.准备一个rdb的redis数据库
port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
dbfilename redis.dump
save 900 1
save 300 10
save 60 10000
2.启动redis支持rdb的数据库 3.设置redis的数据,手动save触发持久化,生成持久化数据文件 4.通过命令,切换持久化模式
127.0.0.1:6379> CONFIG set appendonly yes #开启AOF功能
OK
127.0.0.1:6379> CONFIG SET save "" #关闭RDB功能
OK
5.修改redis的配置文件,改为aof,便于以后重启,完全切换到aof模式
redis-6666.conf内容如下 port 6666
daemonize yes
pidfile /data/6666/redis.pid
loglevel notice
logfile "/data/6666/redis.log"
dir /data/6666
appendonly yes
appendfsync everysec 6.实验完毕 redis-server redis.conf
Linux 安装redis,redis发布订阅,持久化的更多相关文章
- redis的发布订阅、持久化存储、redis的主从复制
redis的发布订阅 1. 创建redis配置文件 vim /opt/redis_conf/reids-6379.conf mkdir /data/6379 redis-server redis-6 ...
- [翻译] C# 8.0 新特性 Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南) 【由浅至深】redis 实现发布订阅的几种方式 .NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐
[翻译] C# 8.0 新特性 2018-11-13 17:04 by Rwing, 1179 阅读, 24 评论, 收藏, 编辑 原文: Building C# 8.0[译注:原文主标题如此,但内容 ...
- .net core 使用Redis的发布订阅
Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心.接下来介绍一下.net core 使用 ...
- python之上下文管理、redis的发布订阅、rabbitmq
使用with打开文件的方式,是调用了上下文管理的功能 #打开文件的两种方法: f = open('a.txt','r') with open('a.txt','r') as f 实现使用with关闭s ...
- 【spring boot】【redis】spring boot 集成redis的发布订阅机制
一.简单介绍 1.redis的发布订阅功能,很简单. 消息发布者和消息订阅者互相不认得,也不关心对方有谁. 消息发布者,将消息发送给频道(channel). 然后是由 频道(channel)将消息发送 ...
- Redisson 分布式锁实现之前置篇 → Redis 的发布/订阅 与 Lua
开心一刻 我找了个女朋友,挺丑的那一种,她也知道自己丑,平常都不好意思和我一块出门 昨晚,我带她逛超市,听到有两个人在我们背后小声嘀咕:"看咱前面,想不到这么丑都有人要." 女朋友 ...
- redis的发布订阅模式
概要 redis的每个server实例都维护着一个保存服务器状态的redisServer结构 struct redisServer { /* Pubsub */ // 字典,键为频道, ...
- StackExchange.Redis 使用-发布订阅 (二)
使用Redis的发布订阅功能 redis另一个常见的用途是发布订阅功能 . 它非常的简单 ,当连接失败时 ConnectionMultiplexer 会自动重新进行订阅 . ISubscriber s ...
- redis的发布订阅模式pubsub
前言 redis支持发布订阅模式,在这个实现中,发送者(发送信息的客户端)不是将信息直接发送给特定的接收者(接收信息的客户端),而是将信息发送给频道(channel),然后由频道将信息转发给所有对这个 ...
- java实现 redis的发布订阅(简单易懂)
redis的应用场景实在太多了,现在介绍一下它的几大特性之一 发布订阅(pub/sub). 特性介绍: 什么是redis的发布订阅(pub/sub)? Pub/Sub功能(means Publ ...
随机推荐
- kali linux 安装sublime text3完全教程
点击进入官网 下载页面 将鼠标放在64 bit(64位系统)上右击复制链接 打开终端: #wget 路径(粘贴刚复制的) #tar -xvvf 刚刚下载的文件文件名(解压) #mv 解压出来的文件名 ...
- 09-04 java 接口
接口的引出 继续回到我们的猫狗案例,我们想想狗一般就是看门,猫一般就是作为宠物了,对不.但是,现在有很多的驯养员或者是驯兽师,可以训练出:猫钻火圈,狗跳高,狗做计算等. 而这些额外的动作,并不是所有猫 ...
- 解释一下核主成分分析(Kernel Principal Component Analysis, KPCA)的公式推导过程(转载)
KPCA,中文名称”核主成分分析“,是对PCA算法的非线性扩展,言外之意,PCA是线性的,其对于非线性数据往往显得无能为力,例如,不同人之间的人脸图像,肯定存在非线性关系,自己做的基于ORL数据集的实 ...
- vue通过webpack打包后怎么运行
1. 成功使用webpack打包完成后会默认得到dist的文件夹 2. dist文件夹中有html与其他的静态文件 3. 在dist文件夹中打开命令窗口或者git,开一个服务器(像anywhere) ...
- C#:使用ListView动态添加数据一直闪烁的解决办法
首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView using System; using System.Collections.Generic ...
- Facade外观模式(结构性模式)
1.系统的复杂度 需求:开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎.控制器.车轮等各子系统构成.然后由对应的子系统调用. 常规的设计如下: #region 坦克系统组 ...
- Spring Boot 数据访问集成 MyBatis 与事物配置
对于软件系统而言,持久化数据到数据库是至关重要的一部分.在 Java 领域,有很多的实现了数据持久化层的工具和框架(ORM).ORM 框架的本质是简化编程中操作数据库的繁琐性,比如可以根据对象生成 S ...
- chrome中Timeline的使用(译)
一.概括 Timeline面板包括以下四个部分: 控制面板.开始记录.停止记录.配置捕获信息: 概况.页面性能的整体概况: flame chart.直观展示cpu堆的情况.你能够看到三条虚线,蓝色的代 ...
- 全网最详细的Cloudera Hue执行./build/env/bin/supervisor 时出现KeyError: "Couldn't get user id for user hue"的解决办法(图文详解)
不多说,直接上干货! 问题详情 如下: [root@bigdata-pro01 hue--cdh5.12.1]# ./build/env/bin/supervisor Traceback (most ...
- ThreadPoolExecutor策略配置以及应用场景
ThreadPoolExecutor 是用来处理异步任务的一个接口,可以将其理解成为一个线程池和一个任务队列,提交到 ExecutorService 对象的任务会被放入任务队或者直接被线程池中的线程执 ...