redis是用c语言写的,放不频繁更新的数据(用户数据。课程数据)
Redis 中,"穿透"通常指的是缓存穿透(Cache Penetration)问题,这是指一种恶意或非法请求直接绕过缓存层,直接访问数据库或其他持久存储的情况。具体来说,Redis 缓存穿透是指请求的数据在缓存中不存在,导致每次请求都要访问数据库或其他存储系统,增加了系统的负载和响应时间
在 Redis 中,"雪崩"(Cache Avalanche)是指缓存中大量数据同时失效或者在同一时间段内进行大量更新操作,导致大量请求直接打到数据库或者持久存储系统上,从而造成数据库负载剧增,甚至引发系统崩溃的情况。
关系性数据库是有表,而redis是键值对
redis软件包移到opt下面 (第三方软件,非公共的软件)
网不好会报不一样的错误
yum -y install gcc tcl 编译安装redis需要用到
网不好错误,可以重新再拉一下
ln -s redis-6.2.13 redis 做个软连接可以保持原为的名字不变
redis-server redis.conf 如果修改了redis.conf文件可以用此方法来启动redis
cat redis.conf | grep -v '#' | grep -v -e '^$'
grep -v '#' 过滤掉了所有包含 # 符号(即注释行)的行。
grep -v -e '^$' 进一步过滤掉了空行,-e '^$' 表示匹配空行,-v 表示取反,即匹配不包含空行的行。
rsync redis-6.2.13.tar .gz root@192.168.169.102:/opt/ 此服务器传数据到另一台服务器
scp redis-6.2.13.tar .gz root@192.168.169.102:$PWD
Redis 服务器进程 (redis-server):这个进程由 Redis 提供,用于运行实际的 Redis 数据库服务器。在你的情况下,该进程的监听地址是 0.0.0.0:6379,表示 Redis 服务器监听所有网络接口上的连接请求,并使用默认的 Redis 端口 6379。
Redis Sentinel 进程 (redis-sentinel):这个进程是 Redis 提供的哨兵进程,用于监控和管理 Redis 主服务器的健康状态。在你的情况下,该进程的监听地址是 0.0.0.0:26379,表示 Redis Sentinel 监听所有网络接口上的连接请求,并使用默认的 Sentinel 端口 26379。
Redis CLI 客户端进程 (redis-cli):这是 Redis 提供的命令行客户端工具,允许用户与 Redis 服务器或 Sentinel 进行交互。
sentinel_masters:1:表示当前 Sentinel 实例正在监控的主服务器数量。这里显示为 1,表示当前 Sentinel 实例监控了一个主服务器。
sentinel_tilt:0:这个指标显示了 Sentinel 是否处于倾斜状态。如果 Sentinel 处于倾斜状态,表示它可能因为某些错误或异常情况而无法正常运行。这里显示为 0,表示 Sentinel 没有处于倾斜状态。
sentinel_running_scripts:0:显示当前正在运行的脚本数量。这里显示为 0,表示当前没有脚本在运行。
sentinel_scripts_queue_length:0:显示待处理的脚本队列长度。这里显示为 0,表示当前没有待处理的脚本。
sentinel_simulate_failure_flags:0:显示用于模拟故障的标志位数量。这里显示为 0,表示没有启用任何故障模拟标志位。master0:name=mymaster,status=ok,address=192.168.175.239:6379,slaves=2,sentinels=2:
这是对主服务器 (mymaster) 的详细信息描述:
name=mymaster:主服务器的名称。
status=ok:主服务器的状态,这里显示为正常。
address=192.168.175.239:6379:主服务器的地址和端口。
slaves=2:当前连接到主服务器的从服务器数量。
sentinels=2:监控这个主服务器的 Sentinel 实例数量。
role:slave:
表示当前 Redis 实例的角色为从服务器(Slave),即它在复制数据并同步主服务器(Master)的数据副本。
master_host:192.168.175.239:
指定了当前从服务器连接的主服务器的 IP 地址。
master_port:6379:
指定了当前从服务器连接的主服务器的端口号。
master_link_status:up:
表示从服务器与主服务器的连接状态为正常(已连接)。
master_last_io_seconds_ago:0:
表示从服务器最后一次与主服务器进行 I/O 操作的时间,这里显示为 0 秒,表示最近有通信。
master_sync_in_progress:0:
表示当前没有进行数据同步的操作,值为 0 表示没有进行中的同步。
slave_read_repl_offset:2351988:
表示当前从服务器读取的复制偏移量(Replication Offset),即从服务器上次同步到的主服务器的复制偏移量。
slave_repl_offset:2351988:
表示从服务器自身的复制偏移量,即从服务器当前的复制偏移量。
slave_priority:100:
表示从服务器的优先级。在 Redis Sentinel 的自动故障转移中,优先级较高的从服务器有更高的可能性被提升为新的主服务器。!!!!!
slave_read_only:1:
表示从服务器是否设置为只读模式。这里的值为 1,表示从服务器是只读的,不能执行写操作。
replica_announced:1:
表示从服务器是否已经被宣告(Announced)。这里的值为 1,表示它已经被宣告为可以接收客户端的读取请求。
connected_slaves:0:
表示当前从服务器连接的从服务器数量。这里显示为 0,表示当前从服务器没有连接其他从服务器。
master_failover_state:no-failover:
表示主服务器的故障转移状态。这里显示为 no-failover,表示当前没有正在进行的故障转移操作。
master_replid:7f095e5b90a798c2e3e2b9522397edcb3520b2e8:
表示主服务器的复制 ID(Replication ID),唯一标识主服务器。
master_replid2:0000000000000000000000000000000000000000:
暂未使用的备用主服务器的复制 ID。
master_repl_offset:2351988:
表示主服务器的当前复制偏移量。
second_repl_offset:-1:
暂未使用的备用复制偏移量。
repl_backlog_active:1:
表示是否启用了复制 backlog 功能。这里的值为 1,表示启用了复制 backlog。
repl_backlog_size:1048576:
表示复制 backlog 的大小,即能够存储的最大复制数据量。
repl_backlog_first_byte_offset:1303413:
表示复制 backlog 的起始字节偏移量,即最早的可用数据在 backlog 中的位置。
repl_backlog_histlen:1048576:
表示当前复制 backlog 的历史长度,即 backlog 中当前存储的数据量。
当 Redis 服务器启用了密码保护功能时才需要使用auth 密码
所以大家要自信一点