Windows下Redis中RedisQFork位置调整

时间:2022-05-08 17:42:55

启动windows版本的Redis会在C盘创建一个RedisQFork打头的文件,改变存放位置的办法:

在redis.windows.conf下更改参数heapdir为./,表示是在当前目录

# The Linux version of Redis relies on the system call fork() to perform # point-in-time snapshots of the heap. In addition to the AOF and RDB backup # mechanism, the master-slave synchronization and clustering features are # dependent on this behavior of fork(). In order for the Windows version to # perform like the Linux version we had to simulate this aspect of fork(). # Doing so meant moving the Redis heap into a memory mapped file that can # be shared with a child process. # # *** There must be disk space available for this file in order for Redis # to launch. *** The default configuration places this file in the local # appdata directory. If you wish to move this file to another local disk, # use the heapdir flag as described below. # # The maxheap flag controls the maximum size of this memory mapped file, # as well as the total usable space for the Redis heap. Running Redis # without either maxheap or maxmemory will result in a memory mapped file # being created that is equal to the size of physical memory. During # fork() operations the total page file commit will max out at around: # # (size of physical memory) + (2 * size of maxheap) # # For instance, on a machine with 8GB of physical RAM, the max page file # commit with the default maxheap size will be (8)+(2*8) GB , or 24GB. The # default page file sizing of Windows will allow for this without having # to reconfigure the system. Larger heap sizes are possible, but the maximum # page file size will have to be increased accordingly. # # The Redis heap must be larger than the value specified by the maxmemory # flag, as the heap allocator has its own memory requirements and # fragmentation of the heap is inevitable. If only the maxmemory flag is # specified, maxheap will be set at 1.5*maxmemory. If the maxheap flag is # specified along with maxmemory, the maxheap flag will be automatically # increased if it is smaller than 1.5*maxmemory. # # maxheap <bytes> # The heap memory mapped file must reside on a local path for heap sharing # between processes to work. A UNC path will not suffice here. For maximum # performance this should be located on the fastest local drive available. # This value defaults to the local application data folder(e.g., # "%USERPROFILE%\AppData\Local"). Since this file can be very large, you # may wish to place this on a drive other than the one the operating system # is installed on. # # Note that you must specify a directory here, not a file name. # heapdir <directory path(absolute or relative)> heapdir ./

启动redis服务器:run.bat

redis-server.exe redis.windows.conf

Redis是可以安装成windows服务的,开机自启动

redis-server --service-install redis.windows.conf

但是安装好之后,,Redis并没有启动,启动命令如下:

redis-server --service-start
停止命令:

redis-server --service-stop
还可以安装多个实例

redis-server --service-install –service-name redisService1 –port 10001
redis-server --service-start –service-name redisService1
redis-server --service-install –service-name redisService2 –port 10002
redis-server --service-start –service-name redisService2
redis-server --service-install –service-name redisService3 –port 10003
redis-server --service-start –service-name redisService3
卸载命令:

redis-server --service-uninstall
最后提示一下:2.8版本的不支持32位系统,32位系统要去下载2.6版本的。2.6版本的无法像上面一样方便的部署,它提供一个叫RedisWatcher的程序来运行redis server,Redis停止后会自动重启。

另外推荐一个Redis可视化管理工具:Redis Desktop Manager,官网的下载地址被墙了,可以在我的网盘下载 v0.7.6版

Windows下Redis中RedisQFork位置调整