前言java
本文主要包含如下三個方面的內容:Redis安裝及配置、Redis基本操做、小結redis
1、Redis安裝及配置centos
(1)環境緩存
OS : CentOS 6.5 官網下載對應版本: http://www.centoscn.com/CentosSoft/iso/bash
Redis: Redis 3.0.3 官網下載對應版本: http://redis.io/download測試
(2)安裝步驟ui
安裝CentOS 6.5 的過程省略。默認爲已經有CentOS 6.5 的操做環境,安裝Redis 的步驟以下加密
1> 下載Redis 穩定版本.net
wget http://download.redis.io/redis-stable.tar.gz
2> 解壓命令行
tar xvzf redis-stable.tar.gz
3> 進入redis-stable 文件夾
cd redis-stable
4> 開始編譯redis
make
5> 進入到src文件夾
cd src
6> 安裝redis
make install
7>測試redis
make test
8>運行時若是出錯,大概是tcl版本過低的緣由的話請按照下面的步驟運行,而後再運行 make test 命令。最終會顯示運行成功!
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/ cd /usr/local/tcl8.6.1/unix/ sudo ./configure sudo make sudo make install
9>安裝完畢以後,運行以下命令,就能夠啓動Redis了
redis-server
10> redis啓動以後,運行客戶端命令就能夠鏈接到redis上
redis-cli
11>鏈接到redis以後能夠運行以下的命令對數據進行增刪改查
add key test /* add data */ get key /* get data */ del key /* del data */
(3)配置說明
在文件夾redis-stable中找到 redis.conf文件,就能夠對redis進行相關配置了,能夠根據本身的須要進行相關的配置。
好比須要添加密碼,則在redis.conf文件中 有「#requirepass 」去掉「#」 ,而後再關鍵字requirepass 後添加密碼。
2、Redis對數據的操做
對redis的操做能夠經過不一樣的方式進行,好比直接經過命令行的方式對數據進行操做、經過不一樣語言做爲客戶端對其實現操做數據。本文以Java爲例來實現對redis數據的增刪改查。使用了第三方庫
package com.cx.redis; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** * @description : * * @author : WuBo * * @date : 2015年8月4日 * */ public class RedisUtil { private static JedisPool pool = null; /** * @desc 獲取鏈接池 * @return */ public static JedisPool getPool() { if (pool == null) { JedisPoolConfig config = new JedisPoolConfig(); //config.setMaxIdle(5); config.setMaxTotal(1000);//最大鏈接數 //config.setMaxWaitMillis(1000 * 100); config.setTestOnBorrow(true); //測試鏈接是否可用 pool = new JedisPool(config, "192.168.1.100", 6379,1000 * 100,"xxxx123"); } return pool; } /** * @desc 釋放鏈接 * @return */ public static void returnResource(JedisPool pool, Jedis redis) { if (redis != null) { pool.returnResourceObject(redis); } } /** * @desc 獲取值 * @return */ public static String get(String key){ String value = null; JedisPool pool = null; Jedis jedis = null; try { pool = getPool(); jedis = pool.getResource(); value = jedis.get(key); } catch (Exception e) { //釋放redis對象 pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { //返還到鏈接池 returnResource(pool, jedis); } return value; } /** * @desc 隨機獲取制定set中的元素 * @param key * @return */ public static String getRandEleOfSet(String key){ String value = null; JedisPool pool = null; Jedis jedis = null; try { pool = getPool(); jedis = pool.getResource(); value = jedis.srandmember(key); } catch (Exception e) { //釋放redis對象 pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { //返還到鏈接池 returnResource(pool, jedis); } return value; } /** * @desc 隨機獲取制定set中的全部元素 * @param key * @return */ public static Set<String> getAllEleOfSet(String key){ Set<String> value = null; JedisPool pool = null; Jedis jedis = null; try { pool = getPool(); jedis = pool.getResource(); value = jedis.smembers(key); } catch (Exception e) { //釋放redis對象 pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { //返還到鏈接池 returnResource(pool, jedis); } return value; } //清空緩存數據 public static void clearCache(String key){ JedisPool pool = null; Jedis jedis = null; try { pool = getPool(); jedis = pool.getResource(); jedis.del(key); } catch (Exception e) { //釋放redis對象 pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { //返還到鏈接池 returnResource(pool, jedis); } } /** * @desc: 添加一個SET集合 */ public static void addElementToSet(String key,String... element){ JedisPool pool = null; Jedis jedis = null; try { pool = getPool(); jedis = pool.getResource(); jedis.sadd(key, element); } catch (Exception e) { //釋放redis對象 pool.returnBrokenResource(jedis); e.printStackTrace(); } finally { //返還到鏈接池 returnResource(pool, jedis); } } /** * @desc 獲取redis鏈接 * @return */ public static Jedis getJedis(){ Jedis jedis = null; try{ jedis = getPool().getResource(); }catch(Exception e){ pool.returnBrokenResource(jedis); e.printStackTrace(); } return jedis; } }
3、小結
本文對Redis的安裝、配置、以及相關運用作了一個簡單總結做爲本身的一個記錄吧。