上一篇文章講解了redis的安裝和啟動服務,並用redis的用戶端進行測試,本篇將採用jedis的方法去使用redis所提供的服務
首先我們先用telnet一下redis服務連接埠,此刻會出現問題,如果redis服務所在的linux防火牆開著 telnet不成功的
具體操作如下:
先執行命令:
[root@localhost redis-2.4.14]# /etc/init.d/iptables status
如果出現資訊比如我原生:
表格:filterChain INPUT (policy ACCEPT)num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT)num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT)num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references)num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:6379
說明防火牆是開著的
解決辦法:
[root@localhost redis-2.4.14]# /etc/rc.d/init.d/iptables stop清除防火牆規則: [確定]把 chains 設定為 ACCEPT 策略:filter [確定]正在卸載 Iiptables 模組: [確定][root@localhost redis-2.4.14]#
然後在telnet就可以了
注意:此處僅供在測試中使用如果是生產過程中採用此方法,出現後果自負。
接著採用jedis進行測試
/** * RedisTest.java * 著作權(C) 2012 * 建立:cuiran 2012-05-12 14:31:48 */package com.wpndemo.redis;import redis.clients.jedis.Jedis;import java.util.Iterator; import java.util.Map; /** * TODO * @author cuiran * @version TODO */public class RedisTest {public static void main(String args[]){// 定義並執行個體化一個Jedis對象 Jedis jedis = new Jedis("192.168.0.138"); // jedis.hset("weibo", "nickname", "admin"); // 設定暱稱 // jedis.hset("weibo", "password", "admin"); // 設定密碼 // jedis.hset("weibo", "fans", "200"); // 設定粉絲數 // jedis.hset("weibo", "sweets", "555"); // 設定微博數 // 返回一個map對象 // Map weiboMap = jedis.hgetAll("weibo"); // Iterator weiboIterator = weiboMap.entrySet() // .iterator(); // // // 進行迭代查看輸出結果 // while (weiboIterator.hasNext()) { // Map.Entry weiboEntry = (Map.Entry)weiboIterator.next(); // System.out.println("key = " + weiboEntry.getKey()); // System.out.println("value = " + weiboEntry.getValue()); // } // jedis.lpush("cuiran1", "1");// jedis.lpush("cuiran1", "2");// jedis.lpush("cuiran1", "3");// jedis.lpush("cuiran1", "4"); // String temp = jedis.rpop("cuiran1");// jedis.del("cuiran1");// System.out.println(temp); /**存放 * */ jedis.setex("0001", 1800, "崔冉"); /** * 取出 */ String temp = jedis.get("0001"); System.out.println(temp); // System.out.println(jedis.exists("cuiran")); System.out.println("cuiran1 : " + jedis.lrange("cuiran1", 0, -1).size()); }}
至此,關於redis 和jedis的使用也結束了,大家對此有任何疑問,歡迎留言提出。謝謝。