redis是个很优秀的缓存系统,简单来说有以下几个特点
1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
2 Redis支持数据的备份,即master-slave模式的数据备份。
3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
redis的基本操作不复杂,上手很快,一两天就可以很熟悉
下面要说的就是用java去操作redis,需要引入jedis-2.1.0.jar这个包,这个是官方推荐的java操作redis的客户端
然后就可以开始redis之旅了
1 首先要创建一个连接池
1 JedisPoolConfig config = new JedisPoolConfig(); 2 config.setMaxActive(20); 3 config.setMaxIdle(5); 4 config.setMaxWait(1000l); 5 config.setTestOnBorrow(false); 6 7 jedisPool = new JedisPool(config,"127.0.0.1",6379);
6379是默认端口,可以不写,对于连接池的配置都可以在JedisPoolConfig这个类里面配置
2 从连接池获取一个Jedis对象,这个才是真正跟redis交互的对象
Jedis jedis = jedisPool.getResource();
3然后就可以用Jedisl里面的方法了,基本上跟redis交互的方法都有,下面列出的就是基本的方法
1 public void show() { 2 3 //设置值 4 jedis.set("name", "测试abcd"); 5 6 System.out.println(jedis.get("name")); 7 //截取字符串,中文占三个字节 8 System.out.println(jedis.substr("name", 0, 5)); 9 10 11 //设置list 12 jedis.rpush("list", "3","2","1"); 13 14 15 //取出list的所有值 16 List<String> list= jedis.lrange("list", 0, -1); 17 for (String string : list) { 18 System.out.println(string); 19 } 20 21 //-----对list排序---- 22 23 List<String> sortlist= jedis.sort("list"); 24 25 for (String string : sortlist) { 26 System.out.println(string); 27 } 28 29 //-----排序然后取前几位 分页使用---- 30 31 SortingParams sortingParams=new SortingParams(); 32 sortingParams.desc(); 33 sortingParams.limit(0, 3); 34 35 List<String> list2= jedis.sort("list", sortingParams); 36 37 jedis.sort("list", sortingParams,"list2"); 38 39 for (String string : list2) { 40 System.out.println(string); 41 } 42 43 44 //----设置hash---- 45 46 jedis.hset("car", "name", "汽车"); 47 jedis.hset("car", "price", "10"); 48 jedis.hset("car", "life", "1"); 49 50 //----遍历hash的key---- 51 52 Set<String> set = jedis.hkeys("car"); 53 for (String string : set) { 54 System.out.println(string); 55 } 56 57 //----遍历hash的value---- 58 59 List<String> carlist = jedis.hvals("car"); 60 for (String string : carlist) { 61 System.out.println(string); 62 } 63 //----查看所有的key---- 64 Set<String> keys = jedis.keys("*"); 65 Iterator<String> it=keys.iterator() ; 66 while(it.hasNext()){ 67 String key = it.next(); 68 System.out.println(key); 69 } 70 71 //操作完成之后记得把jedis放回jedisPool池中 72 jedisPool.returnResource(jedis); 73 74 }
附件里面包含redis的编译过的安装包,最好在linux或者mac上面安装,还有jedis包跟源码包