redis安装配置手册windows
2017-09-28 00:00
609 查看
1、首先以windows服务器端为例
a) 下载redis64-2.6.12.1.zip,下载地址:https://github.com/ServiceStack/redis-windowsb) 解压redis64-2.6.12.1.zip 到D:\redis\redis64-2.6.12.1
c) 启动运行命令 开始---在搜索栏输入cmd------进入redis D:\redis\redis64-2.6.12.1安装目录
d) 输入 redis-server.exe redis.conf 启动redis 最后一定要带redis.conf
出现以上结果成功启动
注意:这个窗口不能关闭,一旦关闭其redis服务器也将关闭
e) 另外从新启动一个命令窗口 同c 进入redis安装目录
f) 输入 redis-cli.exe -h 172.0.3.6 –p 6379 设置redis服务器IP以及端口
这里在redis缓存服务器中存入了一个key为lu,value为Administrator的属性值 接着get key 就可以得到value值
2、接着项目配置
g) 首先配置redis的属性文件 进行连接redis服务器 配置文件如下:h) 由于本次项目是基于spring的 所以在配置
i) 在项目启动加载配置文件app-context.xml的同时 在app-context.xml文件中引入
<import resource="app-redis.xml"/> 并且加载redis.properties属性文件
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:conf/redis.properties</value>
</list>
</property>
</bean>
j) 编写redisservice服务接口 (具体代码请参考DCMP_BASE_USER项目)
k) 编写redisService服务接口实现类 (具体代码请参考DCMP_BASE_USER项目)
到这里redis服务器基本已经跟项目所继承
2.1、接下来是如何使用 这里已登录为例
l) 这里有个过滤器在项目初始化的时候我读取redisServicem) public void init(FilterConfig filterConfig) throws ServletException {
redisService = SpringContextHolder.getBean("redisService");
}
在过滤器中我过滤掉一些在项目中所有没有参与数据的页面和请求 包括登录页面请求
n) 登录成功以后把登录用户信息放入到redis缓存中
redisService.add(Constants.SESSION_USEROBJNAME, user, Constants.SESSION_TIMEOUT);
第一个参数是key 第二个参数为value 第三个参数是在redis服务器中存放的时间
在第四点中将介绍redisService中所有方法的含义
2.1、RedisService方法含义 以及使用
o) Redis 存放数据相当于一个MAP 有key value值组成i. public boolean add(final RedisTransient rt,final boolean isPeresistent);
第一个参数是一个自定义对象其中包含id 和 name 属性 第二个参数是否永久保存 true为永久保存 false为不是
如果需要设置缓存时间,则第二个参数“timeout”设为false,切在常量类Constants中的SESSION_TIMEOUT设置超时秒数;
ii. public boolean add(final String keyStr, final Object valOb,final boolean isPeresistent);
第一个参数是key 第二个参数为value value为Object 类型 第三个参数同i中的意义相同
iii. public boolean add(final List<RedisTransient> list,final boolean isPeresistent);
批量新增 使用pipeline方式
iv. public void delete(String key);
通过key删除缓存服务器中的数据
v. public void delete(List<String> keys);
删除多个
vi. public boolean update(final RedisTransient rt);
修改
vii. public boolean update(final String keyStr, final Object valOb);
根据key,修改对象。
注意:第二个参数对象必须序列化。
viii. public String getStrValue(final String keyId);
通过key获取
ix. public Object getEntity(final String keyId);
通过key获取缓存对象
x. public boolean expire(final String keyId);
拦截器调用--每次访问时,重新设置session的超时时间
xi. public boolean add(final String keyStr, final Object valOb,final Long time);
新增 Object
注意:如果永久保存,第二个参数“isPeresistent”设为true;
如果需要设置缓存时间,则第二个参数“time”就是需要缓存的时间单位(秒);
3、redis.conf配置文件说明
daemonize noRedis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
pidfile /var/run/redis.pid
当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
port 6379
指定Redis监听端口,默认端口为6379
# bind 127.0.0.1
绑定的主机地址
timeout 0
当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
loglevel verbose
指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
logfile stdout
日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
databases 16
设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
rdbcompression yes
指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
dbfilename dump.rdb
指定本地数据库文件名,默认值为dump.rdb
dir ./
指定本地数据库存放目录
slaveof <masterip> <masterport>
设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
masterauth <master-password>
当master服务设置了密码保护时,slav服务连接master的密码
slave-serve-stale-data yes
requirepass foobared
设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
maxclients 128
设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
maxmemory <bytes>
指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区
appendonly no
指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendfsync everysec
# appendfsync no
指定更新日志条件,共有3个可选值:
no:表示等操作系统进行数据缓存同步到磁盘(快)
always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:表示每秒同步一次(折衷,默认值)
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
vm-enabled no
指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)
# vm-enabled yes
vm-swap-file /tmp/redis.swap
虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享
vm-max-memory 0
将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0
vm-page-size 32
Redis swap
文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值
vm-pages 134217728
设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。
vm-max-threads 4
设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
# include /path/to/local.conf
# include /path/to/other.conf
相关文章推荐
- redis-windows 安装配置以及使用手册
- 【Redis学习】:Windows环境下的Redis安装与配置
- 归档Redis在Windows,linux平台下的安装配置
- windows下redis的安装配置和php扩展使用phpredis
- windows下redis的安装配置和php扩展使用phpredis
- 【Redis学习】:Windows环境下的Redis安装与配置
- Resin服务器安装配置手册(Windows and Linux)
- 简单介绍redis以及ubuntu和windows下怎么安装redis和配置文件详解
- Windows下Redis安装配置简单教程
- windows 64系统安装Redis,.conf配置文件各字段含义
- Windows10下Redis安装配置使用
- windows下redis的安装配置和php扩展使用phpredis
- windows下redis安装与配置
- windows平台下redis安装及配置文件介绍
- windows平台下redis安装及配置文件介绍
- windows下redis安装及thinkphp中predis配置
- Redis在Windows+linux平台下的安装配置
- windows 下 redis 安装配置
- redis +windows+nodejs redis安装配置
- Resin服务器安装配置手册(Windows and Linux) .