Reds关键技术分析及应用
生活随笔
收集整理的這篇文章主要介紹了
Reds关键技术分析及应用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Redis是一款開源,免費, 高性能的key-value數(shù)據(jù)庫,與Memcached類似(簡單地比較Redis與Memcached的區(qū)別
1 Redis不僅僅支持簡單的k/v類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結構的存儲。
2 Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。
3 Redis支持數(shù)據(jù)的持久化,可以將內存中的數(shù)據(jù)保持在磁盤中,重啟的時候可以再次加載進行使用。)
Linux下安裝運行:
下載:http://download.redis.io/releases/redis-3.2.8.tar.gz
配置命令:
語法:
127.0.0.1:6379> config get CONFIG_SETTING_NAME
127.0.0.1:6379> config set CONFIG_SETTING_NAME NEW_CONFIG_VALUE
舉例:
鍵命令:用于管理Redis的鍵
字符串命令:用于管理Redis字符串類型值
語法:
127.0.0.1:6379> command KEY_NAME
舉例:
a) Jedis是Redis官方首選的Java客戶端開發(fā)包
b) 需要在程序中添加Jedis依賴:
c) 連接到Redis服務:
public static void main(String[] args){//連接到本地的Redis服務Jedis jedis = new Jedis(“l(fā)ocalhost”);//查看服務是否在運行System.out.println(“Server is running:”+jedis.ping());jedis.set(“foo”,”bar”);String value = jedis.get(“foo”); }d) 程序中提供RedisAPI接口
public class RedisAPI{public JedisPool jedisPool;//使用連接池技術,通過spring進行注入實例public JedisPool getJedisPool(){return jedisPool; } public void setJedisPool(){this.jedisPool=jedisPool; } //get public String get(String key){Jedis jedis = jedisPool.getResource();String value = jedis.get(key);jedis.returnResource(jedis);//歸還連接池return value; } //set public String set(String key,String value){Jedis jedis = jedisPool.getResource();String result = jedis.set(key,value); //返回值:狀態(tài)碼jedis.returnResource(jedis);//歸還連接池return result; } //這個方法可以設置有效期 public String set(String key,int seconds,String value){Jedis jedis = jedisPool.getResource();String result = jedis.setex(key,seconds,value); //設置有效期jedis.returnResource(jedis);return result; }//exists public boolean exists(String key){Jedis jedis = jedisPool.getResource();Boolean result = jedis. exists (key); //設置有效期jedis.returnResource(jedis);return result; }//ttl public long ttl(String key){Jedis jedis = jedisPool.getResource();Long result = jedis. ttl (key); jedis.returnResource(jedis);return result; } //del public long del(String key){Jedis jedis = jedisPool.getResource();Long result = jedis. del (key); #返回的是刪除key的個數(shù)jedis.returnResource(jedis);return result; } }e) 在spring配置文件中注入JedisPool實例
<!--redis 配置 開始--><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><property name="maxActive" value="${redis.maxActive}" /><property name="maxIdle" value="${redis.maxIdle}" /><property name="maxWait" value="${redis.maxWait}" /><property name="testOnBorrow" value="true" /></bean><!-- Config poolConfig, String host, int port, int timeout, String password, int database--><bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="destroy" ><constructor-arg ref="jedisPoolConfig"/><constructor-arg value="${redis.host}"/><constructor-arg value="${redis.port}"/><constructor-arg value="${redis.timeout}"/><constructor-arg value="${redis.pass}"/><constructor-arg value="${redis.default.db}"/></bean><bean id="redisAPI" class="cn.itrip.common.RedisAPI"><property name="jedisPool" ref="jedisPool"/></bean><bean id="validationToken" class="cn.itrip.common.ValidationToken"><property name="redisAPI" ref="redisAPI" /></bean>f) 在database.properties文件中添加如下內容:
#redis redis.host=127.0.0.1 redis.port=6379 redis.pass=redis@WSX!QAZ1234 redis.default.db=0 redis.timeout=3000 redis.maxActive=300 redis.maxIdle=100 redis.maxWait=1000g) 添加測試類:
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); RedisAPI api= (RedisAPI)ctx.getBean("redisAPI");api.set("id","100");bool``ean bool = api.exist("id");String v = api.get("id");long sec = api.ttl("id");System.out.println("bool:"+bool+",v:"+v+",sec:"+sec);h)redis默認本地訪問,要遠程訪問作如下配置:打開redis.conf
1)將bind參數(shù)設置為:0.0.0.0
2)啟動時指定:src/redis-server redis.conf
3)可以通過 命令:ps -ef|grep redis查看redis綁定到了哪一個ip
root 8526 8080 0 21:08 pts/2 00:00:00 src/redis-server 0.0.0.0:6379
4)啟動客戶端命令:src/redis-cli –h 192.168.70.133
5) 關閉防火墻
i)安裝Redis圖形化界面 Redis Desktop Manager
總結
以上是生活随笔為你收集整理的Reds关键技术分析及应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arista EOS log level
- 下一篇: 三次B样条插值和误差分析