redis安装
1. 下载地址:1
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
2. 解压缩1
$ tar xzf redis-3.0.7.tar.gz
3. 编译1
2
3
4
5$ cd redis-3.0.7
$ make
$make install
$cp redis.conf /etc/
参数介绍:
make install命令执行完成后,会在/usr/local/bin目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 、redis-check-dump,它们的作用如下:1
2
3
4
5
6
7
8
9redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能
redis-check-aof:数据修复
redis-check-dump:检查导出工具
4. 修改系统配置文件,执行命令1
2
3a) echo vm.overcommit_memory=1 >> /etc/sysctl.conf
b) sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory
使用数字含义:
0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2,表示内核允许分配超过所有物理内存和交换空间总和的内存
5. 修改redis配置文件1
2
3
4
5a) $ cd /etc
b) vi redis.conf
c) 修改daemonize yes---目的使进程在后台运行
参数介绍:
daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save :保存快照的频率,第一个表示多长时间,第三个表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
6. 启动redis1
2
3
4
5
6```
```bash
a) $ cd /usr/local/bin
b1) ./redis-server
b2) ./redis-server /etc/redis.conf
注意:b1这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。
b2启动方式加载redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
7. 检查是否启动成功1
a) $ ps -ef | grep redis
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:1
2
3
4
5$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
Ubuntu 下安装redis
在 Ubuntu 系统安装 Redi 可以使用以下命令:1
2$sudo apt-get update
$sudo apt-get install redis-server
启动 Redis1
$redis-server
查看 redis 是否启动?1
$redis-cli
关闭 Redis1
2
3./redis-cli shutdown
或
kill -9 PID
设置密码访问
修改redis.conf文件配置1
# requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为123456
java测试代码
导入redis.clients.jedis.Jedis包1
2
3
4
5<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.5.2</version>
</dependency>
java代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package com.iwooto.redis;
import redis.clients.jedis.Jedis;
public class TestRedis {
public static void main(String[] args){
Jedis jedis = new Jedis("192.168.233.129", 6379);
//权限认证
jedis.auth("123456");
//查看服务是否运行
System.out.println("Server is running: "+jedis.ping());
jedis.set("test", "testValue");
String str = jedis.get("test");
System.out.println(str);
jedis.close();
}
}
redis错误记录
Q:MISCONF Redis is configured to save RDB snapshots
A:1
2启动客户端./redis-cli
输入 config set stop-writes-on-bgsave-error no