redis 下載啟動,設置、查詢超時時間

jopen 8年前發布 | 13K 次閱讀 Redis NoSQL數據庫

1、定義

redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。

redis正常是只有linux版的,難免有時候要在windows版的,windows版可以在這里下載: http://pan.baidu.com/s/1i4oswgH

2、啟動windows 的reids方式

解壓下載的壓縮包后,有以下文件

redis 下載啟動,設置、查詢超時時間

cmd命令行進入該目錄,執行下面的命令

redis-server.exe redis.windows.conf

出現如下信息,則啟動成功

redis 下載啟動,設置、查詢超時時間

3、ttl 命令

Redis TTL 命令以秒為單位返回 key 的 剩余過期時間

TTL KEY_NAME

可用版本:>= 1.0.0

返回值的意義

-2:key不存在;

-1:存在,但未設置剩余生存時間;

否則,以秒為單位返回key的生存時間。

4、expire命令

memcached 和 redis 的set命令都有expire參數,可以設置key的過期時間。但是redis是一個可以對數據持久化的key-value database,它的key過期策略還是和memcached有所不同的。

redis通過expire命令來設置key的過期時間。語法如下:

redis.expire(key, expiration)

注意:在小于2.1.3的redis版本里,只能對key設置一次expire。redis2.1.3和之后的版本里,可以多次對key使用expire命令,更新key的expire time 。

redis術語里面,把設置了expire time的key 叫做:volatile keys。 意思就是不穩定的key。

如果對key使用set或del命令,那么也會移除expire time。尤其是set命令,這個在編寫程序的時候需要注意一下。

redis2.1.3之前的老版本里,如果對volatile keys 做相關寫入操作(LPUSH,LSET),和其他一些觸發修改value的操作時,redis會刪除 該key。 也就是說 :

redis.expire(key,expiration);

redis.lpush(key,field,value);

redis.get(key) //return null

redis2.1.3之后的版本里面沒有這個約束,可以任意修改。

redis.set(key,100);

redis.expire(key,expiration);

redis.incr(key)

redis.get(key)

//redis2.2.2 return 101; redis<2.1.3 return 1;

redis對過期鍵采用了lazy expiration:在訪問key的時候判定key是否過期,如果過期,則進行過期處理。其次,每秒對volatile keys 進行抽樣測試,如果有過期鍵,那么對所有過期key進行處理。

spring + redis實現緩存: http://www.cnblogs.com/0201zcr/p/4987561.html

致謝:感謝您的閱讀!

來自: http://www.cnblogs.com/0201zcr/p/5084849.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!