redis下载安装测试

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
9
redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

redis-check-aof:数据修复

redis-check-dump:检查导出工具

4. 修改系统配置文件,执行命令

1
2
3
a) 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
5
a) $ 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. 启动redis

1
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

启动 Redis

1
$redis-server

查看 redis 是否启动?

1
$redis-cli

关闭 Redis

1
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
19
package 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