首页 > 代码库 > Windows下Redis中RedisQFork位置调整

Windows下Redis中RedisQFork位置调整

RedisQFork_4328.dat

技术分享

启动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版

http://keenwon.com/1275.html

 

Windows下Redis中RedisQFork位置调整