日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Reds关键技术分析及应用

發布時間:2023/12/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Reds关键技术分析及应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • Redis的安裝和配置
    Redis是一款開源,免費, 高性能的key-value數據庫,與Memcached類似(簡單地比較Redis與Memcached的區別
    1 Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
    2 Redis支持數據的備份,即master-slave模式的數據備份。
    3 Redis支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用。)
    Linux下安裝運行:
    下載:http://download.redis.io/releases/redis-3.2.8.tar.gz
  • $ tar xzf redis-3.2.8.tar.gz $ cd redis-3.2.8 $ make $ src/redis-server $ src/redis-cli
  • Redis基本命令
    配置命令:
    語法:
    127.0.0.1:6379> config get CONFIG_SETTING_NAME
    127.0.0.1:6379> config set CONFIG_SETTING_NAME NEW_CONFIG_VALUE
    舉例:
  • 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "123456" 127.0.0.1:6379> config set requirepass "123456789" OK

    鍵命令:用于管理Redis的鍵
    字符串命令:用于管理Redis字符串類型值
    語法:
    127.0.0.1:6379> command KEY_NAME
    舉例:

    127.0.0.1:6379> set name xiaoming 127.0.0.1:6379> get name 127.0.0.1:6379> keys * #查詢所有的key 127.0.0.1:6379> expire name 60 #設置有效期為60秒,如果沒有設置有效期時,永久有效。 127.0.0.1:6379> ttl name #查看某個鍵剩余有效期。如果永久有效則值為-1,如果失效不存在,則值為-2 127.0.0.1:6379> exists name #查看某個鍵是否存在 0表示不存在,1表示存在 127.0.0.1:6379> del name #刪除某個鍵
  • 在Java中使用Redis
    a) Jedis是Redis官方首選的Java客戶端開發包
    b) 需要在程序中添加Jedis依賴:
  • <dependency> <groupId>redis.clients</ groupId> <artifactId>jedis</ artifactId> <version>2.1.0</version> </dependency>

    c) 連接到Redis服務:

    public static void main(String[] args){//連接到本地的Redis服務Jedis jedis = new Jedis(“localhost”);//查看服務是否在運行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); //返回值:狀態碼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的個數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=1000

    g) 添加測試類:

    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參數設置為: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关键技术分析及应用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。