win7 安裝Redis

1、下載Redis的壓縮包

https://github.com/dmajkic/redis/downloads 

我下載的是redis-2.4.5-win32-win64.zip

下載完後將其解壓放在自己要放的目錄下

解壓後的目錄

wKioL1eyfw7Df57mAAEAE_JWMjo903.png

如果你是32位的話就進32bit的文件夾,64位就進64bit文件夾

文件夾進去後會看到一下的幾個文件

wKioL1eyf1Pj5BKeAAC5MBLxXwM722.png

edis-benchmark.exe: 性能測試 模擬N個客戶端發送set,get請求

redis-check-aof.exe:更新日誌檢查

redis-check-dump.exe:本地數據庫檢查

redis-server.exe:服務程序


2、接下來就是安裝了

打開dos命令欄,進入到redis的目錄下面,輸入以下命令:

redis-server.exe redis.conf

wKiom1eygL3QERXYAAC6q7mI-84731.png

安裝OK!

然後再打開一個dos命令欄,進入到redis的目錄下,輸入以下命令:

redis-cli.exe -h 127.0.0.1 -p 6379

3、測試一下

wKioL1eygM2Cf4mcAACRrdHPw80267.png

set key value 存值

get key 取值

4、Java開發包Jedis

Jedis :http://www.oschina.net/p/jedis (Redis的官方首選Java開發包)

<!--Redis -->   
<dependency>   
<groupId>redis.clients</groupId>   
<artifactId>jedis</artifactId>   
<version>2.0.0</version>   
<type>jar</type>   
<scope>compile</scope>   
</dependency>

測試例子原帖:http://flychao88.iteye.com/blog/1527163

package com.litao.utils;

import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class JedisUtilTest {
	JedisPool pool;
	Jedis jedis;

	@Before
	public void setUp() {
		pool = new JedisPool(new JedisPoolConfig(), "192.168.10.61");
		jedis = pool.getResource();
		// jedis.auth("password");
	}

	@Test
	public void testGet() {
		System.out.println(jedis.get("lu"));
	}

	/**
	 * Redis存儲初級的字符串 CRUD
	 */
	@Test
	public void testBasicString() {
		// -----添加數據----------
		jedis.set("name", "minxr");// 向key-->name中放入了value-->minxr
		System.out.println(jedis.get("name"));// 執行結果:minxr
		// -----修改數據-----------
		// 1、在原來基礎上修改
		jedis.append("name", "jarorwar"); // 很直觀,類似map 將jarorwar
											// append到已經有的value之後
		System.out.println(jedis.get("name"));// 執行結果:minxrjarorwar
		// 2、直接覆蓋原來的數據
		jedis.set("name", "小明");
		System.out.println(jedis.get("name"));// 執行結果:小明
		// 刪除key對應的記錄
		jedis.del("name");
		System.out.println(jedis.get("name"));// 執行結果:null
		/**
		 * mset相當於 jedis.set("name","minxr"); jedis.set("jarorwar","小明");
		 */
		jedis.mset("name", "minxr", "jarorwar", "小明");
		System.out.println(jedis.mget("name", "jarorwar"));
	}

	/**
	 * jedis操作Map
	 */
	@Test
	public void testMap() {
		Map<String, String> user = new HashMap<String, String>();
		user.put("name", "minxr");
		user.put("pwd", "password");
		jedis.hmset("user", user);
		// 取出user中的name,執行結果:[minxr]-->注意結果是一個泛型的List
		// 第一個參數是存入redis中map對象的key,後面跟的是放入map中的對象的key,後面的key可以跟多個,是可變參數
		List<String> rsmap = jedis.hmget("user", "name");
		System.out.println(rsmap);
		// 刪除map中的某個鍵值
		// jedis.hdel("user","pwd");
		System.out.println(jedis.hmget("user", "pwd")); // 因爲刪除了,所以返回的是null
		System.out.println(jedis.hlen("user")); // 返回key爲user的鍵中存放的值的個數1
		System.out.println(jedis.exists("user"));// 是否存在key爲user的記錄 返回true
		System.out.println(jedis.hkeys("user"));// 返回map對象中的所有key [pwd, name]
		System.out.println(jedis.hvals("user"));// 返回map對象中的所有value [minxr,
												// password]
		Iterator<String> iter = jedis.hkeys("user").iterator();
		while (iter.hasNext()) {
			String key = iter.next();
			System.out.println(key + ":" + jedis.hmget("user", key));
		}
	}

	/**
	 * jedis操作List
	 */
	@Test
	public void testList() {
		// 開始前,先移除所有的內容
		jedis.del("java framework");
		System.out.println(jedis.lrange("java framework", 0, -1));
		// 先向key java framework中存放三條數據
		jedis.lpush("java framework", "spring");
		jedis.lpush("java framework", "struts");
		jedis.lpush("java framework", "hibernate");
		// 再取出所有數據jedis.lrange是按範圍取出,
		// 第一個是key,第二個是起始位置,第三個是結束位置,jedis.llen獲取長度 -1表示取得所有
		System.out.println(jedis.lrange("java framework", 0, -1));
	}

	/**
	 * jedis操作Set
	 */
	@Test
	public void testSet() {
		// 添加
		jedis.sadd("sname", "minxr");
		jedis.sadd("sname", "jarorwar");
		jedis.sadd("sname", "閔曉榮");
		jedis.sadd("sanme", "noname");
		// 移除noname
		jedis.srem("sname", "noname");
		System.out.println(jedis.smembers("sname"));// 獲取所有加入的value
		System.out.println(jedis.sismember("sname", "minxr"));// 判斷 minxr
																// 是否是sname集合的元素
		System.out.println(jedis.srandmember("sname"));
		System.out.println(jedis.scard("sname"));// 返回集合的元素個數
	}

	@Test
	public void test() throws InterruptedException {
		// keys中傳入的可以用通配符
		System.out.println(jedis.keys("*")); // 返回當前庫中所有的key [sose, sanme, name,
												// jarorwar, foo, sname, java
												// framework, user, braand]
		System.out.println(jedis.keys("*name"));// 返回的sname [sname, name]
		System.out.println(jedis.del("sanmdde"));// 刪除key爲sanmdde的對象 刪除成功返回1
													// 刪除失敗(或者不存在)返回 0
		System.out.println(jedis.ttl("sname"));// 返回給定key的有效時間,如果是-1則表示永遠有效
		jedis.setex("timekey", 10, "min");// 通過此方法,可以指定key的存活(有效時間) 時間爲秒
		Thread.sleep(5000);// 睡眠5秒後,剩餘時間將爲<=5
		System.out.println(jedis.ttl("timekey")); // 輸出結果爲5
		jedis.setex("timekey", 1, "min"); // 設爲1後,下面再看剩餘時間就是1了
		System.out.println(jedis.ttl("timekey")); // 輸出結果爲1
		System.out.println(jedis.exists("key"));// 檢查key是否存在
												// System.out.println(jedis.rename("timekey","time"));
		System.out.println(jedis.get("timekey"));// 因爲移除,返回爲null
		System.out.println(jedis.get("time")); // 因爲將timekey 重命名爲time 所以可以取得值
												// min
		// jedis 排序
		// 注意,此處的rpush和lpush是List的操作。是一個雙向鏈表(但從表現來看的)
		jedis.del("a");// 先清除數據,再加入數據進行測試
		jedis.rpush("a", "1");
		jedis.lpush("a", "6");
		jedis.lpush("a", "3");
		jedis.lpush("a", "9");
		System.out.println(jedis.lrange("a", 0, -1));// [9, 3, 6, 1]
		System.out.println(jedis.sort("a")); // [1, 3, 6, 9] //輸入排序後結果
		System.out.println(jedis.lrange("a", 0, -1));
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章