一、輸入命令,yum install gcc-c++
二、輸入命令,yum install -y tcl
三、下載redis-3.0.5.tar.gz,我是放到/home/redis,進去目錄/home/redis,輸入命令,tar xvzf redis-3.0.5.tar.gz
四、進去解壓後的目錄,輸入命令,cd redis-3.0.5
五、輸入命令,make MALLOC=libc
六、啓動,輸入命令,src/redis-server redis.conf
七、中止,輸入命令,src/redis-cli shutdown
附:
一、設置爲非持久化,編輯redis.conf
#save 900 1
#save 300 10
#save 60 10000c++
save ""redis
二、主從複製,在從節點配置slaveof 主服務器的IP 端口,Redis的同步機制是,從節點主動向主節點請求同步,若是主節點設置了密碼,還要設置masterauth 主節點密碼apache
三、設置密碼,配置requirepass 密碼服務器
四、高可用Sentinel,配置sentinel.conf,配置sentinel monitor mymaster 10.16.70.62 6379 1,啓動命令,src/redis-sentinel sentinel.confui
五、容許其它機器訪問,編輯redis.conf,註釋bind線程
六、後臺模式,編輯redis.conf,daemonize yes、pidfile ./pidfile.pidserver
經常使用命令,帶密碼對象
src/redis-cli -a 密碼 -p 端口 shutdown同步
src/redis-cli -a 密碼 -p 端口 dbsizeit
附JedisPoolConfig配置
JedisPoolConfig config = new JedisPoolConfig(); //鏈接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true config.setBlockWhenExhausted(true); //設置的逐出策略類名, 默認DefaultEvictionPolicy(當鏈接超過最大空閒時間,或鏈接數超過最大空閒鏈接數) config.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy"); //是否啓用pool的jmx管理功能, 默認true config.setJmxEnabled(true); //MBean ObjectName = new ObjectName("org.apache.commons.pool2:type=GenericObjectPool,name=" + "pool" + i); 默 認爲"pool" config.setJmxNamePrefix("pool"); //是否啓用後進先出, 默認true config.setLifo(true); //最大空閒鏈接數, 默認8個 config.setMaxIdle(8); //最大鏈接數, 默認8個 config.setMaxTotal(8); //獲取鏈接時的最大等待毫秒數(若是設置爲阻塞時BlockWhenExhausted),若是超時就拋異常, 小於零:阻塞不肯定的時間, 默認-1 config.setMaxWaitMillis(-1); //逐出鏈接的最小空閒時間 默認1800000毫秒(30分鐘) config.setMinEvictableIdleTimeMillis(1800000); //最小空閒鏈接數, 默認0 config.setMinIdle(0); //每次逐出檢查時 逐出的最大數目 若是爲負數就是 : 1/abs(n), 默認3 config.setNumTestsPerEvictionRun(3); //對象空閒多久後逐出, 當空閒時間>該值 且 空閒鏈接>最大空閒數 時直接逐出,再也不根據MinEvictableIdleTimeMillis判斷 (默認逐出策略) config.setSoftMinEvictableIdleTimeMillis(1800000); //在獲取鏈接的時候檢查有效性, 默認false config.setTestOnBorrow(false); //在空閒時檢查有效性, 默認false config.setTestWhileIdle(false); //逐出掃描的時間間隔(毫秒) 若是爲負數,則不運行逐出線程, 默認-1 config.setTimeBetweenEvictionRunsMillis(-1); JedisPool pool = new JedisPool(config, "localhost",); int timeout=3000; new JedisSentinelPool(master, sentinels, poolConfig,timeout);//timeout 讀取超時