其实redis很早以前就看到过,用来作为缓存是非常方便的,但是想等到用的时候再去学习,因为做Java的爬虫,其实Memcached也是个不错的选择,它比Redis的性能更加的好,但是因为爬来的数据还要进行更新,而Redis在复杂的操作方面比Memcached高效。
想了解Redis更多的内容,可以到中文社区 http://www.redis.cn/
慕课网上也有相关的视频教程 http://www.imooc.com/learn/839
下面是在Ubuntu 14中Redis的安装过程。
Windows上也可以安装(http://www.yiibai.com/redis/window_redis_install.html)
1、在线安装Redis
sudo apt-get install redis-server
Redis安装完后会自动的启动,并且是开机自启的。可以在终端查看Redis服务器的进程
ps -aux|grep redis
还可以通过启动命令来查看服务器的状态,显示的为 runing 状态
sudo /etc/init.d/redis-server status
2、通过命令行客户端访问Redis:
安装Rdis会自动的安装命令行的客户端程序
启动客户端
redis-cli
#启动后可以看到下面的输入状态
redis 127.0.0.1:6379>
# 查看所有的key列表
redis 127.0.0.1:6379> keys *
(empty list or set)
客户端中的一些基本的操作:
# 增加一条记录key1
redis 127.0.0.1:6379> set key1 "hello"
OK
# 打印记录
redis 127.0.0.1:6379> get key1
"hello"
# 增加一个哈希记表录key4
redis 127.0.0.1:6379> HSET key4 name "John Smith"
(integer) 1
# 在哈希表中插入,email的Key和Value的值
redis 127.0.0.1:6379> HSET key4 email "abc@gmail.com"
(integer) 1
# 打印哈希表中,name为key的值
redis 127.0.0.1:6379> HGET key4 name
"John Smith"
# 打印整个哈希表
redis 127.0.0.1:6379> HGETALL key4
1) "name"
2) "John Smith"
3) "email"
4) "abc@gmail.com"
使用Java访问Redis
这里简单的介绍下载Java程序中访问Redis
准备工作
首先就是让Redis服务器能够被远程访问、
1、打开Redis服务器的配置文件redis.conf
sudo vim /etc/redis/redis.conf
2、注释其中的bind
#注释bind
#bind 127.0.0.1
3、修改后,重启Redis服务器。
sudo /etc/init.d/redis-server restart
4、检查Redis的网络监听端口
//检查Redis服务器占用端口
~ netstat -nlt|grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN
我们看到从之间的网络监听从 127.0.0.1:6379 变成 0 0.0.0.0:6379,表示Redis已经允许远程登陆访问。
在配置完Redis后,要想在java中访问,肯定是要导入Jedis的jar包,这里使用的maven,pom.xml文件的配置如下:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.4.2</version>
</dependency>
如果没有使用maven下载jar包导入项目中就可以了,http://download.csdn.net/detail/u011521890/9738370
下面是一个简单的例子,用来检验是否连接成功。
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class JedisDemo {
@Test
public void Link(){
Jedis jedis = new Jedis("192.148.10.192",6379);
jedis.set("name", "wangzhan");
String value = jedis.get("name");
System.out.println("name = "+value);
jedis.close();
}
}
如果能够正确的输出value的值那表示远程访问正常。通过上面的操作,我们就把Redis数据库服务器,在Linux Ubuntu中的系统安装完成,并且通过java来访问数据库服务器。