Redis 运维 - 从零开始学习

Redis 运维 - 从零开始学习

一、Redis简介

Redis是一个基于C语言为底层代码开发的开源SQL数据库,Redis基于内存运行并持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环

Redis 的优点

  1. 具有极高的数据读写速度:数据读取的速度最高可达到 110000次/s,数据写入速度最高可达到 81000次/s
  2. 支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Ordered Sets
    等数据类型操作
  3. 支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
  4. 原子性:Redis 所有操作都是原子性的
  5. 支持数据备份:即 master-salve 模式的数据备份

二、Redis 与 Memcached 的区别

Memcached Redis
类型 Key-value 数据库 Key-value 数据库
过期策略 支持 支持
数据类型 单一数据类型 五大数据类型
持久化 不支持 支持
主从复制 不支持 支持
虚拟内存 不支持 支持

三、Redis部署

1. 下载编译及安装

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

yum -y install gcc gcc-c++ make

cd /opt
wget -P /opt http://download.redis.io/releases/redis-6.2.2.tar.gz
tar -zxvf redis-6.2.2.tar.gz

cd redis-6.2.2
make && make PREFIX=/usr/local/redis install 
#Redis源码包中直接提供了makefile文件 直接执行make与make install命令进行安装

cd /opt/redis-6.2.2/utils/
./install_server.sh   

执行./install_server.sh后全部回车直到
Please select the redis executable path []后输入内容/usr/local/redis/bin/redis-server

2. 配置环境

#修改配置
ln -s /usr/local/redis/bin/* /usr/local/bin/ 
#创建软连接
/etc/init.d/redis_6379 start  
#开启服务
netstat -natp | grep 6379 
#查看端口服务是否起得来

四、Redis 常用工具

1.Redis 命令工具

命令行 解释
redis-server 用于启动Redis 的工具
redis- benchmark 用于检测Redis 在本机的运行效率
redis-check-aof 修复AOF持久化文件
redis-check-rdb 修复RDB 持久化文件
redis-cli Redis 命令行工具

2.Redis-cli 命令行工具

语法:

redis-cli -h host -p port -a password

例:

redis-cli -h 192.168.0.10 -p 6379
常用选项 解释
-h 指定远程主机
-p 指定 Redis 服务的端口号
-a 指定密码,未设置数据库密码可以省略此选项

3.Redis-benchmark 测试工具

redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能

基本的测试语法:

redis-benchmark [选项] [选项值]
常用选项 解释
-h 指定服务器主机名
-p 指定服务器端口
-s 指定服务器 socket
-c 指定并发连接数
-n 指定请求数
-d 以字节的形式指定 SET/GET 值的数据大小
-k 1=keep alive,0=reconnect
-r SET/GET/INCR,使用随机 key,SADD 使用随机值
-p 通过管道传输请求
-q 强制退出 redis,仅显示 query/sec 值
–csv 以 CSV 格式输出
-l 生成循环,永久执行测试
-t 仅运行以逗号分隔的测试命令列表
-I Idle 模式,仅打开 N 个 idle 连接并等待
redis-benchmark -h 192.168.0.10 -p 6379 -c 100 -n 100000

向 IP 地址为 192.168.0.10,端口为 6379 的 Redis 服务器发送 100 个并发连接与 100000 个请求以测试性能

redis-benchmark -h 192.168.0.10 -p 6379 -q -d 100

测试存取大小为 100 字节的数据包的性能

redis-benchmark -t set,lpush -n 100000 -q

测试本机上 Redis 服务在进行 set 与 lpush 操作时的性能

五、常用指令

1. 数据的存放和获取

set存放数据,命令格式为 set key value
get获取数据,命令格式为 get key

redis-cli
set cathome cat
get cathome

2. 查询数据

可以筛选数据 和正则类似

keys 命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用
keys * 查看当前数据库中所有的数据
keys c* 查看当前数据库中以v开头的数据
keys c? 查看当前数据库中以v开头后面包含任意一位的数据
keys c?? 查看当前数据库中以v开头后面包含任意两位的数据



3. 键值的判断

用来判断一个键值存不存在
exists 命令可以判断键值是否存在

exitsts 键值

del 命令可以删除当前数据库的指定 key

del 键值

type 命令可以获取 key 对应的 value 值类型

type 键值

4. 覆盖键值

对一个已有的键值进行覆盖 数据也会被覆盖 所以在覆盖时要检查原来的键值 以免数据丢失

rename 源key 目标key


renamenx 命令是对已有 key 进行重命名,并检测新名是否存在,如果目标 key 存在则不进行重命名。(不覆盖原来的数据)

renamenx 源key 目标key


dbsize 命令的作用是查看当前数据库中 key 的数目

dbsize

5. 密码验证

用于安全 必须要验证密码通过 否则操作无法执行

config set requirepass 密码  
#设置一个密码
auth 密码 
#验证密码提升权限
config get requirepass  
#查看当前数据库的密码
config set requirepass '' 
#删除密码

修改密码后查看受阻
、
验证密码

6. 多数据库操作

Redis 支持多数据库,Redis 默认情况下包含 16 个数据库,数据库名称采用数字 0-15 来依次命名的。多数据库相互独立,互不干扰。
在登录redis时 默认使用的是0号库

select 库的序号  
#切换到其他的库
move 键 库号  
#移动一个键值到其他的库
get 键 
#获取键值

7. 清除数据库内数据

FLUSHDB:清空当前数据库数据
FLUSHALL:清空所有数据库的数据,慎用!
<
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值