【缓存学习】Java客户端对Redis的简单实用
前面的几篇文章中有讲述在centos中对【Redis的介绍以及安装】http://cuiyongzhi.com/index.php/post/61.html 以及【Redis启动项Config的配置】http://cuiyongzhi.com/index.php/post/62.html,因为我个人是一个菜鸟级别的Java程序员,所以在这里带来的就是在Java中对Redis的基本操作!
开始在Java中使用 Redis 前,我们需要确保已经安装了 redis 服务并处于开启状态(如上图)及 Java redis 驱动,redis的依赖可以到这里下载:http://pan.baidu.com/s/1kVhGTPd ,同时需要将我们下载的jar包导入到我们的java项目中,这里我就是新建的一个简单的java项目测试的,首先让我们从java连接Redis服务开始吧,同时之前我们有说道Redis是支持多数据类型的,所以在这里我们可以尝试多数据类型的存储和读取操作!
①Java连接到Redis服务
package com.cuiyongzhi.redis; import redis.clients.jedis.Jedis; /** * ClassName: RedisJava * @Description: redis 连接测试 * @author dapengniao * @date 2016年4月5日 下午10:35:11 */ public class RedisJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("192.168.192.128");//这里写入你自己的redis服务ip即可 System.out.println("Connection to server sucessfully"); //查看服务是否运行 System.out.println("Server is running: "+jedis.ping()); } }
运行以上代码如果redis服务是开启并且连接成功的话会如下所展示:
②Redis存储读取String(字符串) 实例
package com.cuiyongzhi.redis; import redis.clients.jedis.Jedis; /** * ClassName: RedisStringJava * @Description: Redis Java String 实例 * @author dapengniao * @date 2016年4月5日 下午10:39:56 */ public class RedisStringJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("192.168.192.128"); //redis服务机器ip System.out.println("Connection to server sucessfully"); //设置 redis 字符串数据 jedis.set("dapengniao", "cuiyongzhi"); // 获取存储的数据并输出 System.out.println("Stored string in redis:: "+ jedis.get("dapengniao")); } }
以上代码通过set的方法将key为dapengniao、value为cuiyongzhi的String类型键值对存入到redis中,后面采用get方法通过key获取并输出,最终结果如下:
③Redis存储读取List(列表) 实例
package com.cuiyongzhi.redis; import java.util.List; import redis.clients.jedis.Jedis; /** * ClassName: RedisListJava * @Description: Redis Java List(列表) 实例 * @author dapengniao * @date 2016年4月5日 下午10:46:22 */ public class RedisListJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("192.168.192.128");//redis服务机器ip System.out.println("Connection to server sucessfully"); //存储数据到列表中 jedis.lpush("tutorial-list", "Redis"); jedis.lpush("tutorial-list", "Mongodb"); jedis.lpush("tutorial-list", "Mysql"); // 获取存储的数据并输出 List<String> list = jedis.lrange("tutorial-list", 0 ,5); for(int i=0; i<list.size(); i++) { System.out.println("Stored string in redis:: "+list.get(i)); } } }
上面示例②中存入和输出的是String字符串,为了展示redis的支持存储的多样性,所以这里我展示的是对列表List的存储和获取,最终运行结果如下:
④Redis读取所有Keys 实例
package com.cuiyongzhi.redis; import java.util.HashMap; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; /** * ClassName: RedisKeyJava * @Description: Redis Java Keys 实例 * @author dapengniao * @date 2016年4月5日 下午10:52:11 */ public class RedisKeyJava { public static void main(String[] args) { // 连接本地的 Redis 服务 Jedis jedis = new Jedis("192.168.192.128");//redis服务机器ip System.out.println("Connection to server sucessfully"); // 获取数据并输出 Set<String> list = jedis.keys("*"); System.out.println(list.toString()); for (String key : list) { if(key.contains("list")){ //对key值做区分,因为list和string的取值方法有所区别(其他类型也需要参照对应方法),其实平时我们对redis做存储的时候都会有头部表示存储用途 List<String> lists = jedis.lrange("list", 0 ,5); for(int i=0; i<lists.size(); i++) { System.out.println("Stored list in redis:: "+lists.get(i)); } }else{ String value=jedis.get(key); System.out.println("Stored string in redis:: " + value); } } } }
这里的方法做了几件事情:①查找redis里面所有存在的key;②对key对应的值做类型区分;③取出key对应的value值输出;在这里值得注意的是②③两步,在代码中也有注释,需要注意的就是对value类型不同采用不同的取值方式,最终可以看到现在在我redis缓存了那些数据如下:
到这里简单的java for redis的用法就有了一个了解,期望随着我的个人能力的深入也能为大家带来更好的文章,最后感谢你的翻阅,如有疑问可以留言一起交流讨论!