日期:2014-05-16  浏览次数:20470 次

Redis安装与Java客户端Jedis

?

? ? 最近,有个Java项目需要cache一些热点数据,刚开始打算用HashMap或ConcurrentHashMap缓存数据。但经过一些比较和分析后,发现这种自身缓存数据的方式有许多不便之处,例如缓存数据的持久化,使用内存大小的控制等。出于这些考虑,我们决定放弃自身缓存数据的做法,改用成熟的cache工具。现在用得比较多的Key-value型缓存工具,有Memcached和Redis,两者各有优劣,选择哪个主要取决你的应用场景。通过使用场景的分析,我们最终选择了Redis。

?

一、Redis安装

?

? ? # wget http://redis.googlecode.com/files/redis-2.2.14.tar.gz

? ? # tar zxvf redis-2.2.14.tar.gz

? ? # mv redis-2.2.14.tar.gz /usr/local/redis

? ? # cd /usr/local/redis

? ? # make && make install

?

? ? 注:网上很多示例都说不能make install,可redis-2.2.14.tar.gz是可以的,省去了手动copy redis命令的步骤。

?

? ? 启动:

? ? # cd /usr/local/redis/src

? ? # ./redis-server ../redis.conf

?

? ? 退出:

? ? # cd /usr/local/redis/src

? ? # ./redis-cli shutdown

?

? ? 注:如果想制作自动启动脚本,可以参考《Redis安装配置》。

?

? ? 客户端:

? ? # ./redis-cli -h 192.168.2.100 -p 6379

? ? redis 192.168.2.100:6379> set foo bar

? ? OK

? ? redis 192.168.2.100:6379> get foo

? ? "bar"

?

二、Redis java client

?

? ? Redis主页上列出的java客户端有JDBC-Redis、JRedis、Jedis三种,但推荐使用Jedis作为Redis的Java客户端。

?

? ? Jedis下载地址:https://github.com/xetorthio/jedis/downloads

?

? ? Jedis的API比起JRedis来说封装得相当优雅,使用起来简单直观。?

?

Jedis jedis = new Jedis("192.168.2.100");
jedis.set("foo", "bar");
System.out.println(jedis.get("foo"));

?

? ?注:Jedis使用总结pipeline、分布式的id生成器、分布式锁watch/multi、redis分布式

?

三、Redis参考文章

? ? 1、为什么使用Redis及其产品定位

? ? 2、Redis内存使用优化与存储?

? ? 3、Redis复制与可扩展集群搭建?

?

?

?