GVKun编程网logo

redis重启,自增数据重新开始计算问题(redis重启数据还在吗)

11

以上就是给各位分享redis重启,自增数据重新开始计算问题,其中也会对redis重启数据还在吗进行解释,同时本文还将给你拓展15.4,redis不重启,切换RDB备份到AOF备份、aspaccess重

以上就是给各位分享redis重启,自增数据重新开始计算问题,其中也会对redis重启数据还在吗进行解释,同时本文还将给你拓展15.4,redis 不重启,切换 RDB 备份到 AOF 备份、asp access重新开始编号、asp.net 删除项目文件/文件夹IIS重启,Session丢失问题、DG:重启之后主备数据重新同步等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

redis重启,自增数据重新开始计算问题(redis重启数据还在吗)

redis重启,自增数据重新开始计算问题(redis重启数据还在吗)

首先,先说一下redis持久化方式

redis有两种持久化方式:

1、RDB:Redis DataBase

默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。

redis.conf 配置

save 900 1
save 300 10
save 60 10000
dbfilename singleton6379.rdb
rdbcompression yes

执行shutdown正常退出会保存数据、执行save命令也会出发保存数据

127.0.0.1:6379> save
127.0.0.1:6379> shutdown
not connected> quit

2、AOF:Append Only File

Redis 默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中。Redis 重启的会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。

redis.conf 配置

appendonly yes
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
# appendfsync always 数据有改变就同步
appendfsync everysec 每秒同步
# appendfsync no 不同步

总结

1、使用AOF模式保存数据,配置文件开启appendonly yes
2、kill redis 之前,先执行 save 命令,触发把内存数据刷到文件

15.4,redis 不重启,切换 RDB 备份到 AOF 备份

15.4,redis 不重启,切换 RDB 备份到 AOF 备份

 

 

确保 redis 版本在 2.2 以上

[root@pyyuc /data 22:23:30]#redis-server -v
Redis server v=4.0.10 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=64cb6afcf41664c

本文在 redis4.0 中,通过 config set 命令,达到不重启 redis 服务,从 RDB 持久化切换为 AOF

实验环境准备

redis.conf 服务端配置文件

daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename  dbmp.rdb
save 900 1                    #rdb机制 每900秒 有1个修改记录
save 300 10                    #每300秒        10个修改记录
save 60  10000                #每60秒内        10000修改记录

启动 redis 服务端

redis-server redis.conf

登录 redis-cli 插入数据,手动持久化

127.0.0.1:6379> set name chaoge
OK
127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> set addr shahe
OK
127.0.0.1:6379> save
OK

检查 RDB 文件

[root@pyyuc /data 22:34:16]#ls 6379/
dbmp.rdb  redis.log

备份这个 rdb 文件,保证数据安全

[root@pyyuc /data/6379 22:35:38]#cp dbmp.rdb /opt/

执行命令,开启 AOF 持久化

127.0.0.1:6379> CONFIG set appendonly yes   #开启AOF功能
OK
127.0.0.1:6379> CONFIG SET save ""  #关闭RDB功能
OK

确保数据库的 key 数量正确

127.0.0.1:6379> keys *
1) "addr"
2) "age"
3) "name"

确保插入新的 key,AOF 文件会记录

127.0.0.1:6379> set title golang
OK

此时 RDB 已经正确切换 AOF,注意还得修改 redis.conf 添加 AOF 设置,不然重启后,通过 config set 的配置将丢失

 
 
 

asp access重新开始编号

asp access重新开始编号

asp.net 删除项目文件/文件夹IIS重启,Session丢失问题

asp.net 删除项目文件/文件夹IIS重启,Session丢失问题

仔细一看,SSO返回的ticket也不相同,才发现原来IIS重启了,最后解决方案如下:

新建一个类继承IHttpModule
复制代码 代码如下:

/// <summary>
/// Stops the ASP.NET AppDomain being restarted (which clears
/// Session state,Cache etc.) whenever a folder is deleted.
/// </summary>
public class StopAppDomainRestartOnFolderDeleteModule : IHttpModule
{
private static bool disableFCNs = false;
public void Init(HttpApplication context)
{
if (disableFCNs) return;
PropertyInfo p = typeof(HttpRuntime).GetProperty("FileChangesMonitor",BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
object o = p.GetValue(null,null);
FieldInfo f = o.GetType().GetField("_dirMonSubdirs",BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase);
object monitor = f.GetValue(o);
MethodInfo m = monitor.GetType().getmethod("StopMonitoring",BindingFlags.Instance | BindingFlags.NonPublic);
m.Invoke(monitor,new object[] { });
disableFCNs = true;
}
public void dispose() { }
}

随后在Web.Config中加入Module配置
复制代码 代码如下:

<!--解决删除项目文件/文件夹引起的IIS重启-->
<add name="stopAppDomainRestartOnFolderDelete" type="DeployAssistant.Facade.Web.StopAppDomainRestartOnFolderDeleteModule,DeployAssistant.Facade"/>

这样每次再删除文件/文件夹AppDomain都不会重启了,Session也不会丢失了。世界也变得更美好了!

PS:Web.Config和bin文件夹下的改动依然会让Web重启,这也是必须保留的!

DG:重启之后主备数据重新同步

DG:重启之后主备数据重新同步

问题描述:本来配置好的DG第二天重启之后,发现主备库数据不能同步,在主库上执行日志切换以及创建表操作都传不到备库上,造成这种错误的原因是主库实例断掉后造成备库日志与主库无法实时接收

主库:orcl    备库:orclstd 说明:启动之前主备库都要开启监听,否则接收不到数据

1.在主库上:启动主库,切换到startup状态

 

 

 2.切换日志,并查看主库最大日志数

 

 

 3.在备库上:验证切换过的最大日志数,发现主备最大日志数不一样,主备库数据不能同步

 

4.取消备库接受日志,然后重启实例,避免因为过程中造成主库继续传输数据的冲突

 

 

 5.重启实例

 

 

 

 6.把备库实例启动到nomount状态,再切换到mount状态,并将数据库状态切换为open read only只读状态

 

 

 

 7.重新应用日志信息,开始实时同步

 

 

 8.主库上重新切换日志,并查看最大日志数

 

 

 9.在备库上查看最大日志数,已经可以同步了,在主库上创建表或者数据文件都是ok的

 

 

 10.相关sql

取消实时同步:sql> alter database recover managed standby database cancel;

开启实时同步:sql> alter database recover managed standby database using current logfile disconnect from session

日志切换       :sql> alter system archive log current;

看最大日志数:sql> select max(sequence#) from v$archived_log;

切换open只读:sql> alter database open read only;

加载到standby:sql> alter database mount standby database;

我们今天的关于redis重启,自增数据重新开始计算问题redis重启数据还在吗的分享已经告一段落,感谢您的关注,如果您想了解更多关于15.4,redis 不重启,切换 RDB 备份到 AOF 备份、asp access重新开始编号、asp.net 删除项目文件/文件夹IIS重启,Session丢失问题、DG:重启之后主备数据重新同步的相关信息,请在本站查询。

本文标签:

上一篇使用两个路由器怎样设置ip(两个无线路由器怎么改ip地址相同怎么改)

下一篇请问在php中做大数相除,要怎么计算?(请问在php中做大数相除,要怎么计算呢)