Windows环境下安装Redis体验谈
Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windows版项目是由微软开放技术团队建立和维护一个实验性项目(支持32,64位),所以并不适用生产环境,但可在Windows环境下用于开发测试。
1.下载安装
猛戳这里就到了开源首页,下载源码包,解压ZIP包后进入msvsbinrelease文件夹有三个文件分别对应32,64位,windows服务三个版本,在这里我们选择64位为例,解压redisbin64.zip 到D:redis2.4,这里主要用到redis-server.exe和redis-cli.exe, redis-server用于运行Redis服务器,redis-cli是命令行客户端,通过它连接Redis服务器,并使用Redis命令进行各种操作。
2.服务启动配置
复制源码包根目录下redis.conf到D:redis2.4,打开CMD命令提示符,输入以下命令启动redis服务。
启动:
redis-server redis.conf
这样redis服务就启动成功了。
配置:
更改redis的配置需要修改redis.conf文件,以下是它一些主要的配置注释:
#是否作为守护进程运行daemonize no#Redis 默认监听端口port 6379#客户端闲置多少秒后,断开连接timeout 300#日志显示级别loglevel verbose#指定日志输出的文件名,也可指定到标准输出端口logfile redis.log#设置数据库的数量,默认最大是16,默认连接的数据库是0,可以通过select N 来连接不同的数据库databases 32#Dump持久化策略#当有一条Keys 数据被改变是,900 秒刷新到disk 一次#save 900 1#当有10 条Keys 数据被改变时,300 秒刷新到disk 一次save 300 100#当有1w 条keys 数据被改变时,60 秒刷新到disk 一次save 6000 10000#当dump .rdb 数据库的时候是否压缩数据对象rdbcompression yes#dump 持久化数据保存的文件名dbfilename dump.rdb########### Replication ######################Redis的主从配置,配置slaveof则实例作为从服务器#slaveof 192.168.0.105 6379#主服务器连接密码# masterauth <master-password>############## 安全性 ############设置连接密码#requirepass <password>############### LIMITS ###############最大客户端连接数# maxclients 128#最大内存使用率# maxmemory <bytes>########## APPEND ONLY MODE ##########是否开启日志功能appendonly no# AOF持久化策略#appendfsync always#appendfsync everysec#appendfsync no################ VIRTUAL MEMORY ############是否开启VM 功能#vm-enabled no# vm-enabled yes#vm-swap-file logs/redis.swap#vm-max-memory 0#vm-page-size 32#vm-pages 134217728#vm-max-threads 4
主从复制
在从服务器配置文件中配置slaveof ,填写服务器IP及端口即可,如果主服务器设置了连接密码,在masterauth后指定密码就行了。
持久化
- redis提供了两种持久化文案,Dump持久化和AOF日志文件持久化。
- Dump持久化是把内存中的数据完整写入到数据文件,由配置策略触发写入,如果在数据更改后又未达到触发条件而发生故障会造成部分数据丢失。
- AOF持久化是日志存储的,是增量的形式,记录每一个数据操作动作,数据恢复时就根据这些日志来生成。
3.命令行操作
使用CMD命令提示符,打开redis-cli连接redis服务器 ,也可以使用telnet客户端
# redis-cli -h 服务器 –p 端口 –a 密码
redis-cli.exe -h 127.0.0.1 -p 6379
连接成功后,就可对redis数据增删改查了,如字符串操作:
以下是一些服务器管理常用命令:
info #查看服务器信息select <dbsize> #选择数据库索引 select 1flushall #清空全部数据flushdb #清空当前索引的数据库slaveof <服务器> <端口> #设置为从服务器slaveof no one #设置为主服务器shutdown #关闭服务