一文redis从零到入门
本文参照视屏学习整理:https://www.bilibili.com/video/av16841549/?p=9
相关软件、资料:
基本条件:有虚拟机或相关linux系统,熟悉基本linux操作
本文结构:
一、linux下redis安装
二、redis基本配置启动以及常用命令
三、redis 的五种基本数据及操作
四、redis主从复制和哨兵(sentinel)机制 简易集群
五、redis安全配置
一、linux下redis安装
1)、https://redis.io/ 进入官方地址下载
2)、使用xftp5将暗安装包上传到服务器
3)、linux下创建redis文件夹并进行安装
#将安装包解压到创建目录 需要在安装包所在目录下执行
tar -zxvf redis-5.0.5.tar.gz -C/usr/local/src/
到redis5.5/src目录下执行make命令,可能出现
a、错误一:gcc命令找不到,是由于没有安装gcc导致 执行
yum -y install gcc
注意:安装完gcc之后,再执行make,先执行 make distclean 清理一下上次make后产生的文件
b、错误二: error: jemalloc/jemalloc.h: No such file or directory 执行
make MALLOC=libc
完成后,进入redis的src目录下,执行 ./redis-ser
安装成功!
二、redis基本配置
1)、当输入Ctrl+c 退出时,redis会自动退出,这时需要执行
#后台启动redis
./redis-server &
#后台启动redis 并保存日志
nohup ./redis-server &
#查看日志
cat nohup.out
2)、查看redis 进程 :ps -ef|grep redis
3)、关闭redis: kill -9 redis进程号 或者 ./redis-cli shutdown
4)、客户端连接redis
a、本地客户端连接:在src目录下 ./redis-cli 如果需要制定ip和端口: ./redis-cli -h 127.0.0.1 -p 6379
b、远程客户端需要进行配置,客户端工具:RedisDesktopManager
修改redis.conf 文件,在src上一层目录
vim redis.conf
注释掉只允许本地连接
安全模式关闭,即改为no
完成后,启动客户端的方式需要指定配置文件:
#在redis的src目录下执行 ../代表上一级目录 用于读取配置文件
./redis-server ../redis.conf &
1、开放linux端口号6379(cento7下):
#先执行 查看当前linux 下已经开放的端口
firewall-cmd --list-ports
#开发6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#显示success发现并没有6379,需要重启防火墙
systemctl restart firewalld.service
2、先在Windows系统中看能否连接该端口,如果telnet 命令不可用,可以百度下在系统中进行开启
打开软件,输入ip,点击测试连接,即可连接成功
3、java代码连接redis(springboot 1.0默认为Jedis spring2.0已经修改为Lettuce) 此处先在idea环境下使用Jedis 进行演示
引入依赖
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.1.0</version> </dependency>
1、主服务器
主服务器(master)
#原始服务器配置文件
include /usr/local/redis-3.2.9/redis.conf
#是否后台启动
daemonize yes
#端口
port 6380
#进程号文件
pidfile /var/run/redis_6380.pid
logfile 6380.log
#持久化文件
dbfilename dump6380.rdb
从服务器(slave)
include /usr/local/redis-3.2.9/redis.conf
daemonize yes
port 6382
pidfile /var/run/redis_6382.pid
logfile 6382.log
dbfilename dump6382.rdb
#从服务器多这一行
slaveof 127.0.0.1 6380
本地配置
#原服务器配置文件
include /home/levi/redis-5.0.5/redis.conf
#是否后台启动
daemonize yes
#端口
port 6380
pidfile /var/run/redis_6380.pid
logfile 6380.log
dbfilename dump6380.rdb
#只需要监视主
sentinel monitor mymaster 127.0.0.1 6379 2
6380为监视端口 2位投票数 当两个及以上从认为主挂了,则要进行切换
实际操作指令
190 cp redis6380.conf redis6381.conf
191 cp redis6380.conf redis6382.conf
192 vim redis6381.conf
193 vim redis6382.conf
194 ll
195 vim redis6381
196 ll
197 vimi redis6381.conf
198 vim redis6381.conf
199 vim redis6382.conf
200 ps -ef|grep redis
201 kill -9 3323
202 ps -ef|grep redis
203 cd src/
204 ./redis-server ../redis6380.conf
205 ./redis-server ../redis6381.conf
206 ./redis-server ../redis6383.conf
207 ./redis-server ../redis6382.conf
208 ps -ef|grep redis
209 ./redis-cli -p 6380
210 history
211 cd ..
212 vim redis.conf
213 cd src/
214 ./redis-cli
215 ./redis-server ../redis6380.conf
216 ps -ef|grep redis
217 slaveof 127.0.0.1 6381
218 ./redis-cli -p 6380
219 cd ..
220 ll
221 cp sentinel.conf sentinel26380.conf
222 cp sentinel.conf sentinel26381.conf
223 cp sentinel.conf sentinel26382.conf
224 vim sentinel26380.c
225 vim sentinel26380.conf
226 vim sentinel26381.conf
227 vim sentinel26382.conf
228 cd src/
229 ./redis-sentinel ../sentinel26380.conf
230 ./redis-cli -p 6381
231 ./redis-cli -p 6380
232 ./redis-server ../redis6380.conf
233 ./redis-cli -p 6380
234 history
原文地址:https://www.cnblogs.com/liweiweicode/p/11525829.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 实验4.1 编码裁剪算法(鼠标交互版)
- python实现对变位词的判断方法
- python实现一个猜拳游戏
- 实验5 OpenGL二维几何变换
- Python关键字及可变参数*args,**kw原理解析
- 实验6 OpenGL模型视图变换
- python学生管理系统的实现
- 详解Android使用Handler造成内存泄露的分析及解决方法
- android使用flutter的ListView实现滚动列表的示例代码
- 实验7 3D机器人
- EasyValidate优雅地校验提交数据完整性
- 实验8 OpenGL太阳系动画
- Django实现列表页商品数据返回教程
- 实验9 OpenGL光照
- Python实现多线程下载脚本的示例代码