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

原文地址:https://www.cnblogs.com/niuli1987/p/10403057.html

时间: 2024-12-11 18:05:01

Linux 安装redis,redis发布订阅,持久化的相关文章

【spring boot】【redis】spring boot 集成redis的发布订阅机制

一.简单介绍 1.redis的发布订阅功能,很简单. 消息发布者和消息订阅者互相不认得,也不关心对方有谁. 消息发布者,将消息发送给频道(channel). 然后是由 频道(channel)将消息发送给对自己感兴趣的 消息订阅者们,进行消费. 2.redis的发布订阅和专业的MQ相比较 1>redis的发布订阅只是最基本的功能,不支持持久化,消息发布者将消息发送给频道.如果没有订阅者消费,消息就丢失了. 2>在消息发布过程中,如果客户端和服务器连接超时,MQ会有重试机制,事务回滚等.但是Red

python之上下文管理、redis的发布订阅

使用with打开文件的方式,是调用了上下文管理的功能 1 #打开文件的两种方法: 2 3 f = open('a.txt','r') 4 5 with open('a.txt','r') as f 6 7 实现使用with关闭socket 8 import contextlib 9 import socket 10 11 @contextlib.contextmanage 12 def Sock(ip,port): 13 socket = socket.socket() 14 socket.bi

StackExchange.Redis 使用-发布订阅 (二)

使用Redis的发布订阅功能 redis另一个常见的用途是发布订阅功能 . 它非常的简单 ,当连接失败时 ConnectionMultiplexer 会自动重新进行订阅 . ISubscriber sub = redis.GetSubscriber(); GetSubscriber 方法返回一个 ISubscriber 类型的实例 .发布订阅功能没有数据库的概念,我们可以为其提供一个 async-state .所有的订阅都是全局的:ISubscriber 实例不是他们的生命周期 , 发布订阅的特

redis的发布订阅模式

概要 redis的每个server实例都维护着一个保存服务器状态的redisServer结构 struct redisServer { /* Pubsub */ // 字典,键为频道,值为链表 // 链表中保存了所有订阅某个频道的客户端 // 新客户端总是被添加到链表的表尾 dict *pubsub_channels;  /* Map channels to list of subscribed clients */ // 这个链表记录了客户端订阅的所有模式的名字 list *pubsub_pa

redis(3)发布订阅

一.发布/订阅模式 在软件工程里面,发布/订阅是一种消息模式,这种模式旨在将消息发送者和消息接收者解耦.发送者不需要关心将消息发送给谁,接收者也不需要知道消息的发送者是谁.发送者将消息发布以后就结束动作,接收者可以订阅自己感兴趣的消息. 除了发布/订阅模式还有一种和它很类似的,消息队列,是一种典型的面向消息中间件的系统.许多消息系统都会同时支持发布/订阅和消息队列模型,例如Java Message Service(JMS) 参见:维基百科 二.redis的发布/订阅 我们从一个简单的示例开始,首

Linux安装配置Redis

一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string.list.set.zset和hash.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.在此基础上,Redis支持各种不同方式的排序. 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到

(二)Redis 笔记——发布&订阅、事务、数据库操作

1. Redis 发布订阅 1.1 概述 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 . client5 和 client1 之间的关系: 当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端: 1.2 步骤: 1.2.1.  创建了订阅频

Redis学习-发布/订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redis 客户端可以订阅任意数量的频道. 常用命令 命令 描述 复杂度 返回 PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道.每个模式以*作为匹配符,比如it*匹配所有以 it 开头的频道( it.news . it.blog . it.tweets 等等) O(N),N是订阅的模式的数量. 接收到的信息 PUBLISH channe

redis pipeset发布订阅

#!/usr/bin/env python # Author:Zhangmingda import redis,time pool = redis.ConnectionPool(host='192.168.11.5',port=6379,db=2) r = redis.Redis(connection_pool=pool) pipe = r.pipeline(transaction=True) pipe.set('age','22') time.sleep(15) pipe.execute()