Redis單機及集羣的安裝及使用

Redis 數據類型

Redis支持五種數據類型

  1. string(字符串)
  2. hash(哈希)
  3. list(列表)
  4. set(集合)
  5. zset(sorted set:有序集合)。

redis作爲緩存最常用的類型

  1. string(字符串)
  2. hash(哈希)

最常用的方法

  • set(字符串的設置值)
  • get(字符串取值)
  • del(字符串刪除key)
  • expire(設置key的過期時間)
  • ttl(查看key的當前還有多久過期)
  • hset(hash的設置key及值)
  • hget(hash的取值)
  • hdel(刪除key)
  • hexists(判斷某個key是否存在)

Redis單機的安裝

  1. 先安裝c語言的編譯環境 執行yum install gcc-c++
  2. 解壓縮Redis的壓縮包 tar zxf Redis
  3. 在解壓縮路徑下執行make命令
  4. 然後執行 make install -PREFIX 你要安裝的路徑
  5. 複製解壓目錄下的redis.conf到安裝路徑的bin文件下
  6. 默認啓動redis 使用命令 bin/redis-server.sh,如果要帶自定義的redis的配置文件 直接在後面跟配置文件redis.conf
  7. 如果需要後臺啓動 我們需要筆記redis.conf,修改daemonize 爲yes

Redis集羣安裝

  1. 單機版安裝了,我們只需要創建一個目錄 mkdir /usr/local/cluster
  2. 然後複製單機版的redis到cluster名字爲redis01,redis02,redis03,redis04,redis05,redis06(1個集羣,3個節點,一主一從)
  3. 然後修改redis.conf配置文件,如果在同一臺機器上需要修改他們的端口號,cluster-enabled屬性爲yes
  4. 然後需要安裝ruby的環境 yum install ruby ,yum install rubygems
  5. 安裝ruby運行的腳本 gem install redis-3.0.0.gem(redis-3.0.0.gem需要自己下載)
  6. 啓動所有的redis服務
  7. 進入redis-3.0.0/src目錄下 然後執行命令 ./redis-trib.rb create –replicas 1 redis01的地址 redis02的地址 redis03的地址 redis04的地址 redis05的地址 redis06的地址(例如 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006) 這個命令中1代表幾個備份機

Redis單機的操作(JAVA)

使用jedis操作redis

Jedis jedis = new Jedis(ip地址, 端口號);
String result = jedis.get("hello");
System.out.println(result);
jedis.close();

使用JedisPool操作redis

/ 第一步:創建一個JedisPool對象。需要指定服務端的ip及端口。
JedisPool jedisPool = new JedisPool("192.168.25.153", 6379);
// 第二步:從JedisPool中獲得Jedis對象。
Jedis jedis = jedisPool.getResource();
// 第三步:使用Jedis操作redis服務器。
jedis.set("jedis", "test");
String result = jedis.get("jedis");
//關閉jedis
jedis.close();

Redis集羣的操作(JAVA)

    Set<HostAndPort> nodes = new HashSet<>();
    nodes.add(new HostAndPort("192.168.25.153", 7001));
    nodes.add(new HostAndPort("192.168.25.153", 7002));
    nodes.add(new HostAndPort("192.168.25.153", 7003));
    nodes.add(new HostAndPort("192.168.25.153", 7004));
    nodes.add(new HostAndPort("192.168.25.153", 7005));
    nodes.add(new HostAndPort("192.168.25.153", 7006));
    JedisCluster jedisCluster = new JedisCluster(nodes);
    // 第二步:直接使用JedisCluster對象操作redis。在系統中單例存在。
    jedisCluster.set("hello", "100");
    String result = jedisCluster.get("hello");
    // 第三步:打印結果
    System.out.println(result);
    // 第四步:系統關閉前,關閉JedisCluster對象。
    jedisCluster.close();

Redis與Spring整合

單機版的配置

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
    <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
    <constructor-arg name="port" value="6379"></constructor-arg>
</bean>

集羣版的配置

<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
    <constructor-arg>
        <set>
            <bean class="redis.clients.jedis.HostAndPort">
                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                <constructor-arg name="port" value="7001"></constructor-arg>
            </bean>
            <bean class="redis.clients.jedis.HostAndPort">
                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                <constructor-arg name="port" value="7002"></constructor-arg>
            </bean>
            <bean class="redis.clients.jedis.HostAndPort">
                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                <constructor-arg name="port" value="7003"></constructor-arg>
            </bean>
            <bean class="redis.clients.jedis.HostAndPort">
                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                <constructor-arg name="port" value="7004"></constructor-arg>
            </bean>
            <bean class="redis.clients.jedis.HostAndPort">
                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                <constructor-arg name="port" value="7005"></constructor-arg>
            </bean>
            <bean class="redis.clients.jedis.HostAndPort">
                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>
                <constructor-arg name="port" value="7006"></constructor-arg>
            </bean>
        </set>
    </constructor-arg>
</bean>
發佈了29 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章