建站快车帮助,自己制作软件平台,wordpress 建站服务,外贸自助建站目录
1、介绍
1、redis的特点:
2、缓存
2、安装Redis
1、安装单机版redis
2、redis-cli命令参数
3、清空数据库的两种方式和作用域#xff1a;
4、redis的增删查改命令
5、redis的查看所有分类命令
6、redis过期时间与控制键的行为
7、redis的相关工具 1、介绍
r…目录
1、介绍
1、redis的特点:
2、缓存
2、安装Redis
1、安装单机版redis
2、redis-cli命令参数
3、清空数据库的两种方式和作用域
4、redis的增删查改命令
5、redis的查看所有分类命令
6、redis过期时间与控制键的行为
7、redis的相关工具 1、介绍
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库
redis的官网redis.io 注:域名后缀io属于国家域名是british Indian Ocean territory即英属印度洋领地
1、redis的特点:
1.丰富的数据结构 -----string,list,set,zset,hash等数据结构的存储
2.支持持久化
3.支持事务 ---------------事务是指“一个完整的动作要么全部执行要么什么也没有做”。
4.支持主从
2、缓存
1.类型1).数据缓存 2).页面缓存(Smarty)
在开发网站的时候如果有一些数据在短时间之内不会发生变化而它们还要被频繁访问为了提高用户的请求速度和降低网站的负载就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据) 该行为就称作对该数据的缓存。
该介质可以是文件、数据库、内存内存经常用于数据缓存
2.形式
页面缓存经常用在内存管理系统里边
数据缓存经常用在页面的具体数据里边
redis和memcache比较 1).Redis不仅仅支持简单的Key-Value类型的数据,同时还提供了list,set,zset,hash等数据结构的存储 2).Redis支持master-slave(主-从)模式应用 3).Redis支持数据的持久化
2、安装Redis
1、安装单机版redis
本机系统rocky_linux9.4
[rootlocalhost ~]# wget http://download.redis.io/releases/redis-5.0.10.tar.gz #下载redis
[rootlocalhost ~]# tar xzf redis-5.0.10.tar.gz -C /usr/local #解压
[rootlocalhost ~]# cd /usr/local/
[rootlocalhost local]# mv redis-5.0.10/ redis
[rootlocalhost local]# cd redis/
[rootlocalhost redis]# yum install -y gcc make #安装编译工具
[rootlocalhost redis]# make
注如果报错请将刚才解压的安装包删除掉再次重新解压并进行make安装即可。[rootlocalhost redis]# /usr/local/redis/src/redis-server #启动命令即redis-server这种用不习惯可以参照下面得配置systemctl启动。
#配置简单方式管理命令
[rootlocalhost ~]# vim /etc/profile #配置文件末尾加入下述环境变量得配置
PATH/usr/local/redis/src:$PATH
[rootlocalhost ~]# source /etc/profile #重新加载系统全局配置文件
#测试使用管理redis命令
[rootlocalhost ~]# redis-server redis.conf #以下为自定义参数
[rootlocalhost ~]# cd /usr/local/redis
[rootlocalhost redis]# cp redis.conf redis.conf.bak #备份配置文件
[rootlocalhost redis]# vim redis.conf #在配置文件中找到修改如下
bind 192.168.226.21 #Redis 服务器监听的网络接口地址
daemonize yes #开启后台模式将on改为yes
timeout 300 #连接超时时间
port 6379 #端口号
dir /usr/local/redis/data #本地数据库存放持久化数据的目录该目录-----需要存在
pidfile /var/run/redis_6379.pid #定义pid文件
logfile /var/log/redis.log #定义log文件
requirepass 1234 #设置密码为1234密码可设置可不设 #创建存放数据的目录
[rootlocalhost redis]# mkdir /usr/local/redis/data #配置redis为systemctl启动
[rootredis-master redis]# cd /lib/systemd/system
[rootredis-master system]# vim redis.service
[Unit]
DescriptionRedis
Afternetwork.target[Service]
ExecStart/usr/local/redis/src/redis-server /usr/local/redis/redis.conf --daemonize no
ExecStop/usr/local/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown[Install]
WantedBymulti-user.target
参数详解:
• [Unit] 表示这是基础信息
• Description 是描述
• After 是在那个服务后面启动一般是网络服务启动后启动• [Service] 表示这里是服务信息
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令• [Install] 表示这是是安装相关信息
• WantedBy 是以哪种方式启动multi-user.target表明当系统以多用户方式默认的运行级别启动时这个服务需要被自动运行。启动服务:
[rootlocalhost system]# systemctl daemon-reload #重新加载 systemd 的配置文件
[rootlocalhost system]# systemctl start redis #启动[rootlocalhost system]# systemctl start redis #停止
[rootlocalhost system]# systemctl restart redis #重启 本次我们没有使用systemctl得形式启动而是配置环境变量这样使用redis命令更方便 2、redis-cli命令参数
redis-cli 是 Redis 提供的命令行工具用于与 Redis 服务器进行交互。它支持多种参数来控制连接方式、执行命令以及显示输出等。以下是常用的 redis-cli 参数 连接参数 -h hostname指定连接的 Redis 服务器主机名或 IP 地址。-p port指定连接的 Redis 服务器端口号默认为 6379。-a password指定连接的 Redis 服务器密码。如果 Redis 服务器设置了密码保护需要使用该参数提供密码进行连接。-s socket指定连接的 Unix 套接字文件路径。适用于本地连接 Unix 套接字的情况。 交互和显示参数 -n db-number选择 Redis 数据库的编号默认为 0。Redis 支持多个数据库通过编号区分。--raw以原始格式显示回复内容不进行任何格式化处理。-r repeat指定重试连接次数默认为 10 次。--csv以 CSV 格式显示输出。 输入输出参数 -i file从指定文件中读取命令并将其发送到 Redis 服务器执行。-x从标准输入读取命令并将其发送到 Redis 服务器执行。适合于管道和脚本操作。 其他参数 -v 或 --version显示 redis-cli 的版本信息。-h 或 --help显示帮助信息列出所有可用的 redis-cli 参数和选项。
登录数据库
#启动redis
redis-server redis.conf
或
redis-server redis.conf #这个命令是因为配置文件中没有配置打开daemonize yes这个是启动后自动放到后台得参数#关闭redis
redis-cli -h 192.168.226.21 SHUTDOWN #如何有密码需要-a指定密码-p指定定义得端口[rootlocalhost redis]# redis-cli -h 192.168.226.21 -p 6379 -a 1234
Warning: Using a password with -a or -u option on the command line interface may not be safe.
192.168.226.21:6379 ping
PONG
192.168.226.21:6379 set name newrain #设置key--name并设置值
OK
192.168.226.21:6379 get name #获取到key
newrain
192.168.226.21:6379 单机版redis已经部署完成。将ip和端口发给开发就可以了。
3、清空数据库的两种方式和作用域
FLUSHDB
FLUSHDB 命令用于清空当前选择的数据库默认为数据库 0中的所有键。该命令不会影响其他数据库的数据只清空当前选择的数据库。
例
FLUSHDB FLUSHALL
FLUSHALL 命令用于清空 Redis 中的所有数据库的数据即清空所有数据库中的所有键。
FLUSHALL
注意使用 FLUSHALL 命令将会删除 Redis 中所有数据库的所有数据包括默认的数据库 0 和可能存在的其他数据库。请谨慎使用因为该操作不可撤销。 4、redis的增删查改命令 增加添加操作 设置键值对Set SET key value 这个命令用于设置指定键的值为给定的字符串值。 删除操作 删除键Delete DEL key [key ...] 这个命令用于删除一个或多个指定的键。 查询操作 获取键的值Get GET key 这个命令用于获取指定键的值。 修改操作 更新键的值Set SET key new_value 这个命令可以用于更新现有键的值或者用于设置新的键值对。 其他相关操作 检查键是否存在Exists EXISTS key 这个命令用于检查指定的键是否存在于 Redis 中。 设置键的过期时间Expire EXPIRE key seconds 这个命令用于为指定键设置过期时间单位为秒。过期时间到期后键会自动被删除。 5、redis的查看所有分类命令 查看所有键 KEYS * 这个命令会列出当前数据库中所有的键。请注意KEYS * 在生产环境中执行时可能会影响 Redis 的性能因为它会遍历所有键。在生产环境中推荐使用 SCAN 命令来逐步迭代获取键。 查看字符串类型数据 GET key 用于获取指定键的值适用于存储在 Redis 中的字符串数据。 查看哈希表类型数据 HGETALL key 获取指定哈希表键中的所有字段和值。 查看列表类型数据 LRANGE key start stop 获取列表键中指定范围内的所有元素。 查看集合类型数据 SMEMBERS key 获取集合键中的所有成员。 查看有序集合类型数据 ZRANGE key start stop [WITHSCORES] 获取有序集合键中指定范围内的所有成员可以选择是否包含成员的分数。 查看数据类型 TYPE key
6、redis过期时间与控制键的行为 EX 参数 表示过期时间的单位是秒Seconds。当使用 EX 参数设置键的过期时间时指定的时间值将以秒为单位计算。
[rootlocalhost system]# redis-cli -h 192.168.226.21
192.168.226.21:6379 ping
PONG
192.168.226.21:6379 set name zhangsan ex 3 #定义一个键和数据设置3秒过期
OK
192.168.226.21:6379 get name #3秒后查看不到了
(nil)
192.168.226.21:6379 set name zhangsan ex 10 #这里就定义成10秒过期
OK
192.168.226.21:6379 get name #10秒内查看就会在
zhangsanPX 参数 表示过期时间的单位是毫秒Milliseconds。当使用 PX 参数设置键的过期时间时指定的时间值将以毫秒为单位计算。
192.168.226.21:6379 set name lisi px 1000 #定义这个键和数据1000毫秒即1秒过期
OK
192.168.226.21:6379 get name
(nil)
192.168.226.21:6379 set name lisi px 10000 #定义这个键和数据10000毫秒。即10秒过期
OK
192.168.226.21:6379 get name #10000毫秒内查看就能看到
lisi NX 参数 表示只在键不存在时才设置键的值Not eXists。如果指定了 NX 参数并且键不存在那么 SET 命令会将键设置为指定的值。 防止覆盖的参数。
192.168.226.21:6379 set id 1000 nx #id键不存在则赋值
OK
192.168.226.21:6379 set id 2000 nx #id已经存在了就不能赋值防止覆盖数据
(nil)
192.168.226.21:6379 get id
1000XX 参数 表示只在键已经存在时才设置键的值eXists。如果指定了 XX 参数并且键已经存在那么 SET 命令会更新键的值。 用于覆盖数据。
192.168.226.21:6379 set txt 2000 xx #给不存在txt键赋值但是txt原本不存在则赋值失败
(nil)
192.168.226.21:6379 set id 2000 xx #给前面创建过的存在的键赋值则可以
OK
192.168.226.21:6379 get id
20007、redis的相关工具
./redis-benchmark #用于进行redis性能测试的工具
./redis-check-dump #用于修复出问题的dump.rdb文件
./redis-cli #redis的客户端
./redis-server #redis的服务端
./redis-check-aof #用于修复出问题的AOF文件
./redis-sentinel #用于集群管理