有公司可以做网站升级ipv6网站优化软件有哪些
- 作者: 五速梦信息网
- 时间: 2026年03月21日 06:55
当前位置: 首页 > news >正文
有公司可以做网站升级ipv6,网站优化软件有哪些,福田祥菱双排座小货车,商店小程序Redis命令、持久化、主从复制 redis配置 Redis命令、持久化、主从复制Redis数据类型redis数据库常用命令redis多数据库常用命令1、多数据库间切换2、多数据库间移动数据3、清除数据库内数据 key命令1、keys 命令2、判断键值是否存在exists3、删除当前数据库的指定key del4、获取…Redis命令、持久化、主从复制 redis配置 Redis命令、持久化、主从复制Redis数据类型redis数据库常用命令redis多数据库常用命令1、多数据库间切换2、多数据库间移动数据3、清除数据库内数据 key命令1、keys 命令2、判断键值是否存在exists3、删除当前数据库的指定key del4、获取key对应的value值类型 type5、设置key过期时间6、查看有效时间以秒为单位7、对key重命名7.5、renamenx8、查看当前数据库中key的数目 dbsize9、使用config set requirepass yourpassword命令设置密码10、使用config get requirepass命令查看密码11、删除密码 string类型增加、修改获取删除 hash类型增加、修改删除 list类型增加获取删除 set类型增加获取删除 zset类型增加获取删除 使用5种数据类型用来描述角色信息Redis高可用-持久化RDB持久化AOF 持久化 Redis高可用-集群主从复制部署搭建redis主从复制集群2个集群6台主机级联主从 配置定时任务免交互删除redis中的key Redis数据类型 redis每条数据都是⼀个键值对值的类型分为五种 字符串string哈希hash列表list集合set有序集合zset redis数据库常用命令 set存放数据命令格式 set key value get获取数据命令格式 get keyredis多数据库常用命令 redis支持多数据库redis默认情况下包含16个数据库数据库名称是用数字0-15来依次命名的。 多数据库相互独立互不干扰 1、多数据库间切换 命令格式select 序号 #使用redis-cli连接redis数据库后默认使用的是序号为0的数据库2、多数据库间移动数据 命令格式move 键值 序号3、清除数据库内数据 FLUSHDB:清空当前数据库数据 FLUSHALL:清空所有数据库的数据 #千万慎用key命令 1、keys 命令 #keys 命令可以取符合规则的键值列表通常情况可以结合*、?等选项来使用。 keys * #查看当前数据库中所有的数据 keys v* #查看当前数据库中以v开头的数据 keys v?? #查看当前数据库中以v开头后面包含任意一位的数据 keys v?? #查看当前数据库中以v开头后面包含任意两位的数据2、判断键值是否存在exists 语法 exists [键] 返回值为1则存在为0则不存在3、删除当前数据库的指定key del 语法 del [键]4、获取key对应的value值类型 type 语法 type [键]5、设置key过期时间 设置过期时间以秒为单位 如果没有指定过期时间则⼀直存在直到使⽤DEL移除 语法expire key seconds例设置键’a1’的过期时间为3秒 expire a1 3 查看key有效时间 6、查看有效时间以秒为单位 语法ttl key7、对key重命名 对已有 key 进行重命名 语法rename 源key 目标key例将key a1改为b1 rename a1 b17.5、renamenx 命令的作用是对已有 key 进行重命名并检测新名是否存在如果目标 key 存在则不进行重命名。不覆盖 命令格式 renamenx 源key 目标key8、查看当前数据库中key的数目 dbsize 命令格式dbsize9、使用config set requirepass yourpassword命令设置密码 命令格式 config set requirepass 密码10、使用config get requirepass命令查看密码 #一旦设置密码必须先验证通过密码否则所有操作不可用auth 123456 config get requirepass11、删除密码 auth 123456 #因为之前设置过密码所以要先登录 config set requirepass #用代表空密码string类型 增加、修改 如果设置的键不存在则为添加如果设置的键已经存在则修改 设置键值 set key value #例1设置键为name值为zhangsan的数据 set name zhangsan设置键值及过期时间以秒为单位 setex key seconds value #例2设置键为aa值为aa过期时间为3秒的数据 setex aa 3 aa设置多个键值 mset key1 value1 key2 value2 … #例3设置键为a1值为Python、键为a2值为Java、键为a3值为c mset a1 python a2 java a3 c追加值 append key value #例4向键为a1中追加值 haha append a1 haha获取 获取根据键获取值如果不存在此键则返回nil get key#例5获取键name的值 get name根据多个键获取多个值 mget key1 key2 … #例6获取键a1、a2、a3的值 mget a1 a2 a3删除 删除键及对应的值 del key1 key2 … #例7删除键a2、a3 del a2 a3hash类型 hash⽤于存储对象对象的结构为属性、值值的类型为string 增加、修改 设置单个属性 hset key field value
例1设置键 user的属性name为zhangsan
hset user name zhangsan设置多个属性 hmset key field1 value1 field2 value2 …
#例2设置键u2的属性name为zhangsan、属性age为11
hmset u2 name zhangsan age 11获取 获取指定键所有的属性 hkeys key
#例3获取键u2的所有属性
hkeys u2获取⼀个属性的值 hget key field
#例4获取键u2属性name的值
hget u2 name获取多个属性的值 hmget key field1 field2 …
#例5获取键u2属性name、age的值
hmget u2 name age获取所有属性的值 hvals key
#例6获取键u2所有属性的值
hvals u2删除
删除整个hash键及值使⽤del命令 删除属性属性对应的值会被⼀起删除 hdel key field1 field2 …
#例7删除键u2的属性age
hdel u2 agelist类型
列表的元素类型为string按照插⼊顺序排序
增加
在左侧插⼊数据 lpush key value1 value2 …
#例1从键为a1的列表左侧加⼊数据a 、 b 、c
lpush a1 a b c在右侧插⼊数据 rpush key value1 value2 …
#例2从键为a1的列表右侧加⼊数据0 1
rpush a1 0 1在指定元素的前或后插⼊新元素 linsert key before或after 现有元素 新元素
#例3在键为a1的列表中元素b前加⼊3
linsert a1 before b 3获取 返回列表⾥指定范围内的元素 start、stop为元素的下标索引 索引从左侧开始第⼀个元素为0 索引可以是负数表示从尾部开始计数如-1表示最后⼀个元素 lrange key start stop#例4获取键为a1的列表所有元素
lrange a1 0 -1设置指定索引位置的元素值
索引从左侧开始第⼀个元素为0索引可以是负数表示尾部开始计数如-1表示最后⼀个元素 lset key index value
#例5修改键为a1的列表中下标为1的元素值为z
lset a1 1 z删除
删除指定元素 将列表中前count次出现的值为value的元素移除count 0: 从头往尾移除count 0: 从尾往头移除count 0: 移除所有
lrem key count value#例6.1向列表a2中加⼊元素a、b、a、b、a、b
lpush a2 a b a b a b
#例6.2从a2列表右侧开始删除2个b
lrem a2 -2 b
#例6.3查看列表py12的所有元素
lrange a2 0 -1lpop 移除并返回列表的第一个元素
lpop keyrpop 移除列表的最后一个元素,返回值为移除的元素
rpop keyset类型
⽆序集合元素为string类型元素具有唯⼀性不重复说明对于集合没有修改操作
增加
添加元素 sadd key member1 member2 …
#例1向键a3的集合中添加元素linuxmi、lisi、linuxidc
sadd a3 linuxmi sili linuxidc获取
返回所有的元素 smembers key
#例2获取键a3的集合中所有元素
smembers a3删除
删除指定元素 srem key
#例3删除键a3的集合中元素linuxidc
srem a3 linuxidc移除集合中的指定 key 的一个或多个随机元素,移除后会返回移除的元素
spop key [count]zset类型
sorted set有序集合元素为string类型元素具有唯⼀性不重复每个元素都会关联⼀个double类型的score表示权重通过权重将元素从⼩到⼤排序说明没有修改操作
增加
添加 zadd key score1 member1 score2 member2 …
#例1向键a4的集合中添加元素lisi、linuxidc、muu、linuxmi权重分别为4、5、6、3
zadd a4 4 lisi 5 linuxidc 6 muu 3 linuxmi获取
返回指定范围内的元素 start、stop为元素的下标索引 索引从左侧开始第⼀个元素为0 索引可以是负数表示从尾部开始计数如-1表示最后⼀个元素 zrange key start stop
#例2获取键a4的集合中所有元素
zrange a4 0 -1返回score值在min和max之间的成员 zrangebyscore key min max
#例3获取键a4的集合中权重值在5和6之间的成员
zrangebyscore a4 5 6返回成员member的score值 zscore key member
#例4获取键a4的集合中元素linuxmi的权重
zscore a4 linuxmi删除
删除指定元素 zrem key member1 member2 …
#例5删除集合a4中元素linuxmi
zrem a4 linuxmi删除权重在指定范围的元素 zremrangebyscore key min max
#例6删除集合a4中权重在5、6之间的元素
zremrangebyscore a4 5 6使用5种数据类型用来描述角色信息 Lillia ATK 61 Armor 20 Spell 32 HP 580 string
set Lillia {\ATK: \61\,\Armor: \20\,\Spell: \32\,\HP: \580}hash
HMSET Lillia1 ATK 61 Armor 20 Spell 32 HP 580list
RPUSH Lillia2 \ATK:61 \Armor:20 \Spell:32 \HP:580set
SADD Lillia3 \ATK:61 \Armor:20 \Spell:32 \HP:580zset
ZADD Lillia4 20 Armor 580 HP 32 Spell 61 ATKRedis高可用-持久化
1、持久化的功能 1Redis是内存数据库数据都是存储在内存中为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失需要定期将Redis中的数据以某种形式数据或命令从内存保存到硬盘当下次Redis重启时利用持久化文件实现数据恢复 2除此之外为了进行灾难备份可以将持久化文件拷贝到一个远程位置
2、两种持久化方式 1RDB 持久化原理是将Redis在内存中的数据库记录定时保存到磁盘上有点像快照
2AOF 持久化原理是将Reids的操作日志以注追加的方式写入文件类似于MySQL的binlog类似于历史记录
由于AOF持久化的实时性更好即当进程意外退出时丢失的数据更少因此AOF是目前主流的持久化方式不过RDB持久化仍然有其用武之地 tips 进程与线程的区别总结 本质区别进程是操作系统资源分配的基本单位而线程是处理器任务调度和执行的基本单位。 包含关系一个进程至少有一个线程线程是进程的一部分所以线程也被称为轻权进程或者轻量级进程。 资源开销每个进程都有独立的地址空间进程之间的切换会有较大的开销线程可以看做轻量级的进程同一个进程内的线程共享进程的地址空间每个线程都有自己独立的运行栈和程序计数器线程之间切换的开销小。 影响关系一个进程崩溃后在保护模式下其他进程不会被影响但是一个线程崩溃可能导致整个进程被操作系统杀掉所以多进程要比多线程健壮。 RDB持久化
1、概述 1RDB持久化是指在指定的时间间隔内将内存中当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化)用二进制压缩存储保存的文件后缀是rdb 2当Redis重新启动时可以读取快照文件恢复数据
2、触发条件 1手动触发
save命令和bgsave命令都可以生成RDB文件 save命令会阻塞Redis服务器进程直到RDB文件创建完毕为止在Redis服务器阻塞期间服务器不能处理任何命令请求 bgsave命令会创建一个子进程由子进程来负责创建RDB文件父进程(即Redis主进程)则继续处理请求 bgsave命令执行过程中只有fork子进程时会阻塞服务器而对于save命令整个过程都会阻塞服务器因此save已基本被废弃线上环境要杜绝save的使用
2自动触发 • 在自动触发RDB持久化时Redis也会选择bgsave而不是save来进行持久化 • 自动触发最常见的情况是在配置文件中通过save m n指定当m秒内发生n次变化时会触发bgsave
vim /etc/redis/6379.conf#—-219行—-以下三个save条件满足任意一个时都会引起bgsave的调用
save 900 1 当时间到900秒时如果redis数据发生了至少1次变化则执行bgsave
save 300 10 当时间到300秒时如果redis数据发生了至少10次变化则执行bgsave
save 60 10000 当时间到60秒时如果redis数据发生了至少10000次变化则执行bgsave
#—-242行—-是否开启RDB文件压缩
rdbcompression yes
#—-254行—-指定RDB文件名
dbfilename dump.rdb
#—-264行—-指定RDB文件和AOF文件所在目录
dir /var/lib/redis/63793其他自动触发机制 • 除了save m n 以外还有一些其他情况会触发bgsave • 在主从复制场景下如果从节点执行全量复制操作则主节点会执行bgsave命令并将rdb文件发送给从节点 • 执行shutdown命令时自动执行rdb持久化
3、bgsave工作流程 1Redis父进程首先判断当前是否在执行save或bgsave/bgrewriteaof的子进程如果在执行则bgsave命令直接返回。 bgsave/bgrewriteaof的子进程不能同时执行主要是基于性能方面的考虑两个并发的子进程同时执行大量的磁盘写操作可能引起严重的性能问题 2父进程执行fork操作创建子进程这个过程中父进程是阻塞的Redis不能执行来自客户端的任何命令 3父进程fork后bgsave命令返回Background saving started信息并不再阻塞父进程并可以响应其他命令 4子进程创建RDB文件根据父进程内存快照生成临时快照文件完成后对原有文件进行原子替换 5子进程发送信号给父进程表示完成父进程更新统计信息
4、启动时加载 1RDB文件的载入工作是在服务器启动时自动执行的并没有专门的命令。但是由于AOF的优先级更高因此当AOF开启时Redis会优先载入 AOF文件来恢复数据只有当AOF关闭时才会在Redis服务器启动时检测RDB文件并自动载入。服务器载入RDB文件期间处于阻塞状态直到载入完成为止 2RedisAOF关闭的时候载入RDB文件时会对RDB文件进行校验如果文件损坏则日志中会打印错误Redis启动失败
AOF 持久化
1、概述 1RDB持久化是将进程数据写入文件而AOF持久化则是将Redis执行的每次写、删除命令记录到单独的日志文件中查询操作不会记录 当Redis重启时再次执行AOF文件中的命令来恢复数据 2与RDB相比AOF的实时性更好因此已成为主流的持久化方案
AOF工作流程 1客户端的请求写命令会被append追加到AOF缓冲区内 2AOF缓冲区根据AOF持久化策略[always,everysec,no]将操作sync同步到磁盘的AOF文件中 3AOF文件大小超过重写策略或手动重写时会对AOF文件进行rewrite重写压缩AOF文件容量 4Redis服务重启时会重新load加载AOF文件中的写操作达到数据恢复的目的
Redis服务器默认开启RDB关闭AOF要开启AOF需要在配置文件中配置vim /etc/redis/6379.conf#—-700行—-修改开启AOF
appendonly yes
#—-704行—-指定AOF文件名称
appendfilename appendonly.aof
#—-796行—-是否忽略最后一条可能存在问题的指令
aof-load-truncated yes
#指redis在恢复时会忽略最后一条可能存在问题的指令默认为yes即在aof写入时可能存在指令错误的问题突然断电导致未执行结束这种情况下yes会log并继续而no会直接恢复失败AOF写数据策略(appendfsync) aof写数据三种策略
always(每次 每次写入操作均同步到AOF文件中数据零误差性能较低everysec每秒 每秒将缓冲区中的指令同步到AOF文件中数据准确性较高性能较高 在系统突然宕机的情况下丢失1秒内的数据no系统控制 由操作系统控制每次同步到AOF文件的周期整体过程不可控
RDB和AOF的优先级 前提
因为redis默认将数据保存在内存中所以redis启动、关闭时内存中的数据会丢失在redis每次启动时都会读取持久化文件将数据恢复到内存中以保证redis数据完整性 RDB和AOF优先级AOF优先级高
Redis高可用-集群
1、概述 1主从复制是指将一台Redis服务器的数据复制到其他的Redis服务器。前者称为主节点Master后者称为从节点Slave数据的复制是单向的只能由主节点到从节点
2默认情况下每台Redis服务器都是主节点且一个主节点可以有多个从节点或没有从节点但一个从节点只能有一个主节点
2、主从复制的作用 1数据冗余∶主从复制实现了数据的热备份是持久化之外的一种数据冗余方式
2故障恢复∶当主节点出现问题时可以由从节点提供服务实现快速的故障恢复实际上是一种服务的冗余。
3负载均衡∶在主从复制的基础上配合读写分离可以由主节点提供写服务由从节点提供读服务即写Redis数据时应用连接主节点读Redis数据时应用连接从节点分担服务器负载尤其是在写
少读多的场景下通过多个从节点分担读负载可以大大提高Redis服务器的并发量
4高可用基石∶除了上述作用以外主从复制还是哨兵和集群能够实施的基础因此说主从复制是Redis高可用的基础
3、主从复制流程 Redis的主从复制功能除了支持一个Master节点对应多个Slave节点的同时进行复制外还支持Slave节点向其它多个Slave节点进行复制。这样使得我们能够灵活组织业务缓存数据的传播例如使用多个Slave作为数据读取服务的同时专门使用一个Slave节点为流式分析工具服务。Redis的主从复制功能分为两种数据同步模式进行全量数据同步和增量数据同步。
建立连接首先从服务器会向主服务器发送一个SYNC命令来请求建立连接和同步数据。如果是 初次连接或者之前的复制断开了主服务器将执行全量复制否则它将执行部分复制。快照同步在进行全量复制时主服务器会生成RDBRedis Database文件并通过网络传输给 从服务器。接收到RDB文件后从服务器会清空自己的数据库并加载新接收到的快照数据。增量同步完成快照同步后在进行部分复制时主服务器将继续记录并缓存所有写操作命令。然 后以类似于日志追加方式AOF将这些写操作发送给从服务器进行增量同步。命令重放当有新命令要被执行时包括客户端发起写操作主服务会依次执行该命令并同时发 给所有已经与其建立连接的从服务器。然后每个从服务器都按顺序重放相应的命令来保持数据一致 性。心跳检测和重新连接为了保持稳定和可靠性在主从之间还会进行心跳检测。如果从服务器与主 服务器的连接断开它将尝试重新建立连接并请求同步数据。
主从复制部署
replicaof masterip masterport
replicaof 127.0.0.1 6379
#masterauth password
#如果主服务器有密码验证从服务器需要配置主服务器密码搭建redis主从复制集群2个集群6台主机
在搭建主从之前在从服务器写一些数据 测试主从完成后从服务器数据是否存在 扩展多主一从级联主从 192.168.99.121:6379 master1 192.168.99.121:7001 slave1 192.168.99.121:7002 slave2 REPLICAOF 192.168.99.121 6379192.168.99.121:7003 master2 192.168.99.121:7004 slave3 192.168.99.121:7005 slave4 REPLICAOF 192.168.99.121 7003级联主从
192.168.99.121:7006 slave of 192.168.99.121:7001
配置定时任务免交互删除redis中的key
安装expect工具用于自动化交互式应用程序
yum install expect -y# 创建并编辑一个expect脚本用于自动删除Redis中的zl键 vim /opt/redis_del_zl.exp#!/usr/bin/expect
启动一个Redis客户端
spawn /usr/local/redis/bin/redis-cli
期待看到提示符表示已成功连接
expect *
发送命令删除zl键
send DEL zl\r
再次期待看到提示符确保命令已成功执行
expect *
发送退出命令关闭Redis客户端
send quit\r
允许交互以便在脚本执行过程中进行手动干预
interact# 使脚本可执行以便能够通过cron任务调用 chmod x # 编辑crontab以定时执行删除操作 crontab -e# 定义一个cron任务在每天的3点执行删除操作 0 3 * * * /opt/redis_del_zl.exp
- 上一篇: 有个网站做彩盒的青岛建站通
- 下一篇: 有公司如何制作网站wordpress如何站点
相关文章
-
有个网站做彩盒的青岛建站通
有个网站做彩盒的青岛建站通
- 技术栈
- 2026年03月21日
-
有个人代做网站的吗用wordpress插件推荐
有个人代做网站的吗用wordpress插件推荐
- 技术栈
- 2026年03月21日
-
有服务器有域名怎么做网站盈世企业邮箱登录入口
有服务器有域名怎么做网站盈世企业邮箱登录入口
- 技术栈
- 2026年03月21日
-
有公司如何制作网站wordpress如何站点
有公司如何制作网站wordpress如何站点
- 技术栈
- 2026年03月21日
-
有固定ip自己做网站网站建设的想法
有固定ip自己做网站网站建设的想法
- 技术栈
- 2026年03月21日
-
有关计算机网站建设的论文淘宝网站建设论文
有关计算机网站建设的论文淘宝网站建设论文
- 技术栈
- 2026年03月21日
