一、redis簡(jiǎn)單介紹
redis是NoSql家族的一員,鍵值對(duì)的內(nèi)存型數(shù)據(jù)庫(kù)。但是它支持把數(shù)據(jù)保存到本地。這點(diǎn)比memcached好。
缺點(diǎn): 沒(méi)有本地?cái)?shù)據(jù)緩沖, 目前還沒(méi)有完整的數(shù)據(jù)聚集化支持
優(yōu)點(diǎn): 配置簡(jiǎn)單, 使用方便, 高性能,支持不同的數(shù)據(jù)類(lèi)型(hashes, lists, sets, sorted sets)
ASP.NET WebUI for viewing content of the cache
二、安裝
windows版本非官方版本。但是是”微軟的團(tuán)隊(duì)維護(hù)的“這個(gè)是官方的說(shuō)法。下載解壓運(yùn)行起來(lái)服務(wù)端(如圖)
linux版官方版本,具體安裝也很簡(jiǎn)單
三、常用命令
???
??? set key value? 插入鍵
get key?? 獲取value
??? keys *?? 查詢(xún)所有鍵
del key 刪除鍵
flushall? 清空數(shù)據(jù)庫(kù)
??? 連接操作相關(guān)的命令
??? quit:關(guān)閉連接(connection)
??? auth:簡(jiǎn)單密碼認(rèn)證
持久化
??? save:將數(shù)據(jù)同步保存到磁盤(pán)
??? bgsave:將數(shù)據(jù)異步保存到磁盤(pán)
??? lastsave:返回上次成功將數(shù)據(jù)保存到磁盤(pán)的Unix時(shí)戳
??? shundown:將數(shù)據(jù)同步保存到磁盤(pán),然后關(guān)閉服務(wù)
遠(yuǎn)程服務(wù)控制
??? info:提供服務(wù)器的信息和統(tǒng)計(jì)
??? monitor:實(shí)時(shí)轉(zhuǎn)儲(chǔ)收到的請(qǐng)求
??? slaveof:改變復(fù)制策略設(shè)置
??? config:在運(yùn)行時(shí)配置Redis服務(wù)器
對(duì)value操作的命令
??? exists(key):確認(rèn)一個(gè)key是否存在
??? del(key):刪除一個(gè)key
??? type(key):返回值的類(lèi)型
??? keys(pattern):返回滿(mǎn)足給定pattern的所有key
??? randomkey:隨機(jī)返回key空間的一個(gè)
??? keyrename(oldname, newname):重命名key
??? dbsize:返回當(dāng)前數(shù)據(jù)庫(kù)中key的數(shù)目
??? expire:設(shè)定一個(gè)key的活動(dòng)時(shí)間(s)
??? ttl:獲得一個(gè)key的活動(dòng)時(shí)間
??? select(index):按索引查詢(xún)
??? move(key, dbindex):移動(dòng)當(dāng)前數(shù)據(jù)庫(kù)中的key到dbindex數(shù)據(jù)庫(kù)
??? flushdb:刪除當(dāng)前選擇數(shù)據(jù)庫(kù)中的所有key
??? flushall:刪除所有數(shù)據(jù)庫(kù)中的所有key
對(duì)String操作的命令
??? set(key, value):給數(shù)據(jù)庫(kù)中名稱(chēng)為key的string賦予值value
??? get(key):返回?cái)?shù)據(jù)庫(kù)中名稱(chēng)為key的string的value
??? getset(key, value):給名稱(chēng)為key的string賦予上一次的value
??? mget(key1, key2,…, key N):返回庫(kù)中多個(gè)string的value
??? setnx(key, value):添加string,名稱(chēng)為key,值為value
??? setex(key, time, value):向庫(kù)中添加string,設(shè)定過(guò)期時(shí)間time
??? mset(key N, value N):批量設(shè)置多個(gè)string的值
??? msetnx(key N, value N):如果所有名稱(chēng)為key i的string都不存在
??? incr(key):名稱(chēng)為key的string增1操作
??? incrby(key, integer):名稱(chēng)為key的string增加integer
??? decr(key):名稱(chēng)為key的string減1操作
??? decrby(key, integer):名稱(chēng)為key的string減少integer
??? append(key, value):名稱(chēng)為key的string的值附加value
??? substr(key, start, end):返回名稱(chēng)為key的string的value的子串
對(duì)List操作的命令
??? rpush(key, value):在名稱(chēng)為key的list尾添加一個(gè)值為value的元素
??? lpush(key, value):在名稱(chēng)為key的list頭添加一個(gè)值為value的 元素
??? llen(key):返回名稱(chēng)為key的list的長(zhǎng)度
??? lrange(key, start, end):返回名稱(chēng)為key的list中start至end之間的元素
??? ltrim(key, start, end):截取名稱(chēng)為key的list
??? lindex(key, index):返回名稱(chēng)為key的list中index位置的元素
??? lset(key, index, value):給名稱(chēng)為key的list中index位置的元素賦值
??? lrem(key, count, value):刪除count個(gè)key的list中值為value的元素
??? lpop(key):返回并刪除名稱(chēng)為key的list中的首元素
??? rpop(key):返回并刪除名稱(chēng)為key的list中的尾元素
??? blpop(key1, key2,… key N, timeout):lpop命令的block版本。
??? brpop(key1, key2,… key N, timeout):rpop的block版本。
??? rpoplpush(srckey, dstkey):返回并刪除名稱(chēng)為srckey的list的尾元素,并將該元素添加到名稱(chēng)為dstkey的list的頭部
對(duì)Set操作的命令
??? sadd(key, member):向名稱(chēng)為key的set中添加元素member
??? srem(key, member) :刪除名稱(chēng)為key的set中的元素member
??? spop(key) :隨機(jī)返回并刪除名稱(chēng)為key的set中一個(gè)元素
??? smove(srckey, dstkey, member) :移到集合元素
??? scard(key) :返回名稱(chēng)為key的set的基數(shù)
??? sismember(key, member) :member是否是名稱(chēng)為key的set的元素
??? sinter(key1, key2,…key N) :求交集
??? sinterstore(dstkey, (keys)) :求交集并將交集保存到dstkey的集合
??? sunion(key1, (keys)) :求并集
??? sunionstore(dstkey, (keys)) :求并集并將并集保存到dstkey的集合
??? sdiff(key1, (keys)) :求差集
??? sdiffstore(dstkey, (keys)) :求差集并將差集保存到dstkey的集合
??? smembers(key) :返回名稱(chēng)為key的set的所有元素
??? srandmember(key) :隨機(jī)返回名稱(chēng)為key的set的一個(gè)元素
對(duì)Hash操作的命令
??? hset(key, field, value):向名稱(chēng)為key的hash中添加元素field
??? hget(key, field):返回名稱(chēng)為key的hash中field對(duì)應(yīng)的value
??? hmget(key, (fields)):返回名稱(chēng)為key的hash中field i對(duì)應(yīng)的value
??? hmset(key, (fields)):向名稱(chēng)為key的hash中添加元素field
??? hincrby(key, field, integer):將名稱(chēng)為key的hash中field的value增加integer
??? hexists(key, field):名稱(chēng)為key的hash中是否存在鍵為field的域
??? hdel(key, field):刪除名稱(chēng)為key的hash中鍵為field的域
??? hlen(key):返回名稱(chēng)為key的hash中元素個(gè)數(shù)
??? hkeys(key):返回名稱(chēng)為key的hash中所有鍵
??? hvals(key):返回名稱(chēng)為key的hash中所有鍵對(duì)應(yīng)的value
??? hgetall(key):返回名稱(chēng)為key的hash中所有的鍵(field)及其對(duì)應(yīng)的value
新聞熱點(diǎn)
疑難解答
圖片精選