CentOS7 下Redis的安裝以及使用

下載rdis文件 redis-3.0.7.tar.gz

redis安裝

  1. 在虛擬機創建redis文件夾 mkdir –p /usr/local/src/redis
  2. 進入文件夾 cd /usr/local/src/redis
  3. 通過Xhell傳輸redis到虛擬機中,或者通過CentOS tools可以直接拖拽文件到虛擬機的制定位置
  4. 解壓 redis文件 tar xzf redis-3.0.7.tar.gz
  5. 解壓完畢後,進入redis-3.0.7文件夾 cd redis-3.0.7
  6. 文件需進行編譯 make
    這裏寫圖片描述
  7. 進行安裝 make install

    在實際安裝中,Xhell與CentOS連接無論如何都不能進行連接,後來經過排查,發現是沒有開啓22的端口,
    端口的開啓在下文會有介紹。

**

redis服務配置

**

1.修改配置文件

配置文件:redis.conf
設置模式

vi redis.conf
daemonize yes   #默認爲no

端口配置:

默認6379,一般無需修改

配置數據庫數量:

Redis默認開啓16個數據庫,不能像mysql自定義數據庫名稱,只能是數值,不能修改。

配置內存大小:
會生成一個和內存大小一樣的文件。

maxmemory 200mb 在真實環境必須部署,否則物理內存會被耗盡。一般配置200mb/500mb/1gb/2gb。可以分散到多臺服務器,和其它業務共享服務器,以充分利用資源。同時因爲分散,防止單點故障,造成大量緩存失效。
maxmemory 200mb     在364行,必須設置。

這裏寫圖片描述

redis啓動

redis-server有兩種方式啓動,一般我習慣於在redis文件夾運行這個命令,在其他地方運行是否可以 還尚未嘗試

redis-server                    #默認找redis.conf配置文件
redis-server redis6380.conf #指定配置文件,這樣可以啓動多個實例

redis-cli通樣也有兩種方式,在一個系統運行多個redis實例時,我們通常 只需制定端口號 如
redis-cli -p 6380
redi-cli命令運行後
執行ping命令,
如果出現pong,那麼 說明服務已成功開啓

默認連接:IP 127.0.0.1 端口 6379
redis-cli
指定IP端口:
    redis-cli –h 127.0.0.1 –p 6379
    使用ping命令測試與客戶端和服務器鏈接是否正常
    redis-cli ping

redis在一個物理節點啓動兩個實例

cd /usr/local/src/redis/redis-3.0.7

複製redis的配置文件,並命名爲redis6380
cp redis.conf redis6380.conf
將redis6380文件中的端口改爲6380

redis端口的修改

配置防火牆,開啓80端口、3306端口

CentOS 7 默認使用firewalld來管理iptables規則,由於防火牆規則變動的情況很少,動不動態變得無所謂了。但是習慣是魔鬼,跟之前不一樣,總是感覺不太習慣。

systemctl disable firewalld
yum remove firewalld -y

使用下面的辦法來恢復原來的習慣,同時解決iptables開機啓動的問題。

yum install iptables-services -y
systemctl enable iptables

這樣的話,iptables服務會開機啓動,自動從/etc/sysconfig/iptables 文件導入規則。

爲了讓/etc/init.d/iptables save 這條命令生效,需要這麼做

cp /usr/libexec/iptables/iptables.init /etc/init.d/iptables
/etc/init.d/iptables save

而chkconfig iptables 命令會自動重定向到sytemctl enable iptables

打開3306端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save      #修改生效
/etc/init.d/iptables status         #查看配置

參考 http://blog.csdn.net/czmchen/article/details/46389801
http://blog.csdn.net/zp1996323/article/details/52336851
**

Jedis連接Redis

簡單的連接,可用作測試是否連接成功

@Test
    public void test(){
        //創建Jedis對象
        Jedis jedis=new Jedis("192.168.58.128",6379);
        String r=jedis.get("a6688");
        System.out.println(r);
        jedis.close();
    }

連接失敗,一般來說都應該先檢查redis的端口是否已經開啓。

/etc/init.d/iptables status 

總共開啓了兩個虛擬機,其中一個虛擬機開啓了兩個redis實例。

@Test //池化
    public void shared(){
        //構造一個池的配置對象
        JedisPoolConfig poolConfig=new JedisPoolConfig();
        poolConfig.setMaxTotal(200);
        //存儲配置的信息
        List<JedisShardInfo> listInfo=new ArrayList<JedisShardInfo>();

        JedisShardInfo info1=new JedisShardInfo("192.168.58.129", 6379);
        listInfo.add(info1);
        JedisShardInfo info2=new JedisShardInfo("192.168.58.129", 6380);
        listInfo.add(info2);
        JedisShardInfo info3=new JedisShardInfo("192.168.58.128", 6379);
        listInfo.add(info3);
        ShardedJedisPool pool=new ShardedJedisPool(poolConfig, listInfo);

        ShardedJedis jedis=pool.getResource();

        for(int i=0;i<10000;i++){
            jedis.set("a"+i,"i");
        }
//      String r=jedis.get("a");
//      System.out.println(r);
        jedis.close();

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