> 数据库 > Redis >

redis的安装与使用

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。 

Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 

1.下载与安装

1
2
3
4
5
6
7
$ wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz   $ tar xzf redis-2.4.15.tar.gz
$ cd redis-2.4.15  
$ make  
$ make install  
$ cd utils  
$./install_server
就会自动安装到/usr/local/bin目录下。在该目录下生成几个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat、redis-check-aof,它们的作用如下: 
redis-server:Redis服务器的daemon启动程序 
redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作 
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能 
redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况 
redis-check-aof: 

2.启动
1
2
$ cd utils  
$./install_server

这两步会生成启动命令文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Welcome to the redis service installer
This script will help you easily set up a running redis server
  
  
Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
./install_server.sh: 153: [[: not found
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
./install_server.sh: 168: [[: not found
./install_server.sh: 168: chkconfig: not found
./install_server.sh: 168: chkconfig: not found
/etc/init.d/redis_6379: 1: -e: not found
Starting Redis server...
Installation successful!
此时可以通过 
  /etc/init.d/redis_6379 start  来启动
 /etc/init.d/redis_6379 stop 来关闭
当然也可在/usr/local/bin目录下使用redis-server来启动

3.本地客户端连接

1
2
3
4
5
$ redis-cli  
redis> set foo bar  
OK  
redis> get foo   "bar"

使用jedis客户端进行连接

1
2
3
4
5
public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.128.128");
    jedis.set("foo", "xxxxx");
    System.out.println(jedis.get("foo"));
}

 

4.定制服务器启动参数

直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件(在redis解压缩目录下有一个redis.con可以作为范本),下面是redis.conf的主要配置参数的意义: 
1
2
3
4
5
6
7
8
9
10
11
12
13
daemonize:是否以后台daemon方式运行 
pidfile:pid文件位置 
port:监听的端口号 
timeout:请求超时时间 
loglevel:log信息级别 
logfile:log文件位置 
databases:开启数据库的数量 
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。 
rdbcompression:是否使用压缩 
dbfilename:数据快照文件名(只是文件名,不包括目录) 
dir:数据快照的保存目录(这个是目录) 
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。 
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
重启服务器
1
redis-server /redis/redis-2.4.15/redis.conf


redis命令参考中文版:http://redis.readthedocs.org/en/2.4/index.html


(责任编辑:IT)