前面两篇说过redis的安装使用和密码设置后,现在来看看怎么用java代码连接服务器,并使用redis。
首先项目中需要有redis的驱动包,下载Jedis.jar。
下载最新驱动包,放到项目的lib目录下,确保项目包含该驱动包。
如果是maven项目,可以直接在pom.xml文件中引入如下配置:
- <dependency>
- <groupId>redis.clients</groupId>
- <artifactId>jedis</artifactId>
- <version>2.5.2</version>
- </dependency>
连接Redis服务:
- public static void main(String[] args){
- //连接本地的Redis服务
- Jedis jedis = new Jedis("127.0.0.1", 6379);
- System.out.println("连接成功!");
- //密码验证
- jedis.auth("123456");
- //查看服务是否运行
- System.out.println("服务是否运行:" + jedis.ping());
- }
输出结果如下,连接成功。
- 连接成功!
- 服务是否运行:PONG
String(字符串) 类型实例
- public static void main(String[] args){
- //连接本地的Redis服务
- Jedis jedis = new Jedis("127.0.0.1", 6379);
- System.out.println("连接成功!");
- //密码验证
- jedis.auth("123456");
- //设置字符串数据
- jedis.set("myKey", "testStr");
- //通过key输出缓存内容
- System.out.println("输出内容为:" + jedis.get("myKey"));
- }
输出结果:
- 连接成功!
- 输出内容为:testStr
LIst(列表)类型实例
- public static void main(String[] args){
- //连接本地的Redis服务
- Jedis jedis = new Jedis("127.0.0.1", 6379);
- System.out.println("连接成功!");
- //密码验证
- jedis.auth("123456");
- //存储List缓存数据
- jedis.lpush("test-list", "Java");
- jedis.lpush("test-list", "PHP");
- jedis.lpush("test-list", "C++");
- //获取list缓存数据
- List<String> listCache = jedis.lrange("test-list", 0, 3);
- for (int i = 0; i < listCache.size(); i++) {
- System.out.println("缓存输出:" + listCache.get(i));
- }
- }
输出结果:
- 连接成功!
- 缓存输出:C++
- 缓存输出:PHP
- 缓存输出:Java
Hash(哈希)类型实例
- public static void main(String[] args){
- //连接本地的Redis服务
- Jedis jedis = new Jedis("127.0.0.1", 6379);
- System.out.println("连接成功!");
- //密码验证
- jedis.auth("123456");
- //存储Hash类型缓存数据
- Map<String, String> hashMap = new HashMap<String, String>();
- hashMap.put("xiaoming", "man");
- hashMap.put("xiaohua", "women");
- hashMap.put("xiaoma", "man");
- jedis.hmset("test-hash", hashMap);
- //获取hash类型缓存数据
- Map<String, String> hashData = jedis.hgetAll("test-hash");
- System.out.println("获取hash缓存数据(xiaoming):"+hashData.get("xiaoming"));
- System.out.println("获取hash缓存数据(xiaohua):"+hashData.get("xiaohua"));
- System.out.println("获取hash缓存数据(xiaoma):"+hashData.get("xiaoma"));
- }
输出结果:
- 连接成功!
- 获取hash缓存数据(xiaoming):man
- 获取hash缓存数据(xiaohua):women
- 获取hash缓存数据(xiaoma):man
Set(无序,不重复集合) 类型实例
- public static void main(String[] args){
- //连接本地的Redis服务
- Jedis jedis = new Jedis("127.0.0.1", 6379);
- System.out.println("连接成功!");
- //密码验证
- jedis.auth("123456");
- //存储Set缓存数据
- jedis.sadd("test-set", "Java");
- jedis.sadd("test-set", "PHP");
- jedis.sadd("test-set", "C++");
- jedis.sadd("test-set", "PHP");
- //获取set缓存数据
- Set<String> setCache = jedis.smembers("test-set");
- for(String setStr : setCache){
- System.out.println("Set集合缓存输出:" + setStr);
- }
- }
输出结果:
- 连接成功!
- Set集合缓存输出:PHP
- Set集合缓存输出:C++
- Set集合缓存输出:Java
ZSet(有序,不重复集合) 类型实例
- public static void main(String[] args){
- //连接本地的Redis服务
- Jedis jedis = new Jedis("127.0.0.1", 6379);
- System.out.println("连接成功!");
- //密码验证
- jedis.auth("123456");
- //存储zset类型缓存数据
- jedis.zadd("test-zset",1,"Java");
- jedis.zadd("test-zset",3,"C++");
- jedis.zadd("test-zset",2,"PHP");
- jedis.zadd("test-zset",2,"PHP");
- //获取zset缓存数据类型
- Set<String> setCache = jedis.zrange("test-zset", 0, 5);
- for(String setStr : setCache){
- System.out.println("获取zset缓存数据:" + setStr);
- }
- }
输出结果:
- 连接成功!
- 获取zset缓存数据Java
- 获取zset缓存数据PHP
- 获取zset缓存数据C++
注:zset每个存储元素都会关联一个double类型的数值,redis就是根据这个数值进行排序的,数值可以重复,但是存储元素不可以重复。
转载自:http://blog.youkuaiyun.com/mlc1218559742/article/details/52668429