设为首页 加入收藏

TOP

Redis安装与使用、redis主从复制、redis集群(一)
2023-09-09 10:25:27 】 浏览:160
Tags:Redis 安装与 redis 从复制 集群

Redis

文章内容主要参考b站 运维实战课程 的redis视频:redis的课程介绍_哔哩哔哩_bilibili

简介

1.Redis是一个缓存数据库,主要是做缓存。什么是缓存?也就是缓冲存储,也可以理解为挡箭牌,对后面的一个保护—般放在mysql/oracle等数据库前面,对数据库进行一个保护。用户请求数据时候,第一次先请求redis,redis里没有,就请求后台mysqal数据库,返回数据时候会存放到redis里一份缓存起来,当下一次请求同样数据时候,就可以直接青求redis拿到数据,防止了对数据库的频繁访问,减轻后台数据库的压力
2.Redis是一种内存型的nosql数据库,一般是用来缓存加速的,并且能够支持数据持久化存储的设置,可以将数据持久化到硬盘里面3.Redis存储数据的方法是以key-value的形式
4.Redis数据类型支持字符串、列表、哈希等多种类型

Redis的源码编译安装

安全前的环境准备:

Centos7 关闭防火墙 关闭selinux 配置好阿里yum仓库

1.安装编译工具
yum install -y vim lrzsz gcc gcc-c++ make cmake tar openssl openssl-devel

2.解压提前下载好tar.gz源码包
tar -zxvf redis-6.2.13.tar.gz -C /usr/local/  //解压

mv /usr/local/redis-6.2.13 /usr/local/redis  
cd /usr/local/redis
make && makeinstall
redis-server -v

cp redis.conf /etc/

//如果系统都一样,没必要每台都编译安装,在一台上编译安装后,只需将编译好的二进制文件((/usr/local/ bin/redis-*)拷贝到其他服务器即可

配置优化

cp /etc/redis.conf /etc/redis.conf.bak  //备份文件

sed -i '/^#/d;/^$/d' /etc/redis.conf  //删除注释空行
vim /etc/redis.conf  //修改如下参数
bind 0.0.0.0
port 6379
dir /data/redis
requirepass redispwd  //添加
pidfile "redis.pid"
logfile "redis.log"
daemonize yes
1.启动
mkdir -p /data/redis
redis-server /etc/redis.conf
netstat -tunlp | grep 6479

cat /data/redis/redis.log  //查看日志 内存尽量2G以上

2.修改文件
vim /etc/security/limits.conf 
* - nofile 65535  //添加

vim /etc/sysctl.conf
net.core.somaxconn = 10240
vm.overcommit_memory = 1 

sysctl -p  //使上述配置生效

3.配置系统
vim /usr/lib/systemd/system/redis.service 
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

基本操作

1.redis-cli使用和认证登录
redis-cli -h ip  //无密码
redis-cli -a password  //登录+认证

2.redis常用数据类型
字符串
列表、集合
hash、发布和订阅

3.redis字符串操作
set name xux  	 //增加key并赋值
keys *   		 //显示所有的key
get name  		 //获取key的值
set name xuxu  	 //重新给key赋值
del name  		 //删除key

//大小写问题
命令不区分大小写
key区分大小写
set name ccc
set Name xxx

//非交互式操作redis
redis-cli -a password set name xuxuxu
redis-cli -a password get name

//使用shell批量写入数据并获取
for i in $(seq -w 10);do redis-cli -a 123456 set name${i} test${i};done

4.redis列表和集合的基本操作
4.1 redis列表
特点:列表是有顺序的 可写入重复的数据
如:['s1','s2','s3'...]
rpush names s1  //依次在列表右侧逐步添加数据
rpush names s2
rpush names s3

['s3','s2','s1'...]
lpushu names2 s1  //左侧逐步添加数据
lpushu names2 s2
lpushu names2 s3

lrange names 0 2  //读取第1到第3个列表值
lrange names 0 -2 //读取第1到倒数第2个列表值
LLEN names  //列出列表的长度

LREM names 1 s1  //删除列表names中一个s1
LREM names 0 s2  //删除列表names中所有的s2

lpop names  //左弹出
rpop names  //右弹出

4.2 redis集合
特点:无顺序的、不重复的
sadd a a1  //创建集合a并添加元素
sadd a a2
sadd a a3

SMEMBERS a  //列出集合中的所有元素

srem a a1  //删除集合中元素a
spop a  //集合随机弹出一个元素

SISMEMBER a a1  //判断元素是否在集合里 0代表不在,1代表在

5.redis哈希和订阅类型基本操作
5.1.hash类型数据操作
Hash 写入
hset haxi name ha  //创建一个hash名字haxi
hset haxi laocation beijing
hset haxi age 18
hset haxi sex man

hash获取
HGETALL haxi  //获取hash名字里的所有key value对
HGET haxi name  //获取hash名字里的单个key的值

Hash删除
HDEL haxi age  //删除hash名字的单个key
DEL haxi  //删除整个hash

hash批量删除
hmset haxi name hx666 age 20 location beijing sex boy

5.2.redis的发布订阅
subscribe fabu  //订阅fabu频道
public fabu "name shi,age 20,sex boy"  //往频道发布数据,订阅可以收到发布的消息

不同数据库切换和运维监控命令

1.数据库切换
//查看redis默认库
grep databases /etc/redis.conf

//redis数据库的切换
select 0
select 1

//不同的数据库是独
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇探索文件系统:高效、可靠的文件.. 下一篇云服务器中Linux如何安装宝塔面板..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目