redis的安装和测试
轉載:? ??https://www.cnblogs.com/maxm/p/6729553.html
?redis一直都是調用別人部署好的,近日想要自己從靈開始搭建一次。其中也生出不少枝節,與各位猿友共同分享,望少走些彎路!
? ? ?1.提前準備的資源
? ? ? redis安裝包(本人上傳到csdn不需積分即可下載):
? ? ??http://download.csdn.net/detail/u012580998/9818185
? ? ?2.將安裝包解壓到 /opt/redis下(目錄自定義,但是請容易記一些),然后進入到該目錄
? ? ?
?
? ? ?3.編譯redis
? ? ? 執行命令如下:
? ? ?(編譯)
? ? ?make?
? ? ?(進入src)
cd src
? ? (安裝,以及安裝路徑)
make install PREFIX=/usr/local/redis
?
? ? ?4.將配置文件移動到/usr/local/redis目錄
? ? ?
? ? ?5.啟動redis服務
? ? ?執行
?
? ? ?/usr/local/redis/bin/redis-server /usr/local/redis/redis-conf
?
? ? ?
?
? ? 6.修改配置文件
? ? 編輯redis.conf
? ??將daemonize的值改為yes ?(這是后臺運行)
?
? ? bind 127.0.0.1 ? ?(只能本機訪問)
? ? 改為
? ? bind 0.0.0.0 ? ?(非本機亦可訪問(或者可以綁定指定IP))
?
?
7.注意事項,個人安裝測試過程中遇到問題以及解決方案
? ??7.1編譯過程中make 報錯
??
? ? ?解決辦法:yum install tcl ?(也就是yum安裝tcl)
?
? ? 7.2 ?遠程訪問失敗
? ? ?解決方案便是第六步,將bind 127.0.0.1 ? 改成了 bind 0.0.0.0
? ? ?否則redis只能本地訪問
?
? ? ?7.3 redis安全模式訪問
? ? ? 測試程序報錯為:
? ? ?DENIED Redis is running protected mode because protected mode is enabled,
? ? ?no bind address was specified, no authentication password is requested to clients.
? ? ?In this mode connections are only accepted from the loopback interface.
?
? ? ? 需要給redis配置密碼
? ? ? 啟動redis客戶端
? ? ? 執行 ?redis-cli指令
? ? ? 然后執行
? ? ? config?set?requirepass 123456(密碼)
? ? ??
?
8.附上測試代碼(請新建Java項目,并引入jedis的jar包(百度一下就可以找到了))
import?redis.clients.jedis.Jedis;import?redis.clients.jedis.exceptions.JedisConnectionException;
public class RedisTest { private Jedis jedis = null; private String key1 = "key1"; private String key2 = "key2"; public RedisTest() { jedis = new Jedis("127.0.0.1"); // redis的IP地址jedis.auth("redis"); // redis密碼} public static void main(String[] args) { RedisTest redisTest = new RedisTest(); redisTest.isReachable(); // redis是否訪問成功 返回結果true/falseredisTest.testData(); // 數據測試redisTest.delData(); // 刪除數據redisTest.testExpire(); } public boolean isReachable() { boolean isReached = true; try { jedis.connect(); jedis.ping(); // jedis.quit(); } catch (JedisConnectionException e) { e.printStackTrace(); isReached = false; } System.out .println("The current Redis Server is Reachable:" + isReached); return isReached; } public void testData() { jedis.set("key1", "data1"); jedis.set("maxm", "MMM");System.out.println(jedis.get("maxm"));System.out.println("Check status of data existing:" + jedis.exists(key1)); System.out.println("Get Data key1:" + jedis.get("key1")); long s = jedis.sadd(key2, "data2"); System.out.println("Add key2 Data:" + jedis.scard(key2) + " with status " + s); } public void delData() { long count = jedis.del(key1); System.out.println("Get Data Key1 after it is deleted:" + jedis.get(key1)); } public void testExpire() { long count = jedis.expire(key2, 5); try { Thread.currentThread().sleep(6000); } catch (InterruptedException e) { e.printStackTrace(); } if (jedis.exists(key2)) { System.out .println("Get Key2 in Expire Action:" + jedis.scard(key2)); } else { System.out.println("Key2 is expired with value:" + jedis.scard(key2)); } } }轉載于:https://www.cnblogs.com/ceshi2016/p/8108541.html
總結
以上是生活随笔為你收集整理的redis的安装和测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定位体系
- 下一篇: 导语3——node以及npm