1.Redis安装以及常用命令
目錄
1.下載
2.服務(wù)端和客戶端端命令
3.redis數(shù)據(jù)操作
3.1String類型
3.2?鍵命令
3.3? list(列表)
3.4 hash
3.5 set類型(無(wú)序集合)
3.5 zset類型(有序集合)
1.下載
Redis官網(wǎng)下載地址:http://redis.io/download,下載相應(yīng)版本的Redis,在運(yùn)行中輸入cmd,然后把目錄指向解壓的Redis目錄。
2.服務(wù)端和客戶端端命令
- 連接 redis? ?:? redis-cli
- 運(yùn)行測(cè)試命令:ping
- 切換庫(kù)(默認(rèn)進(jìn)來(lái)的是0號(hào)庫(kù),一共有16個(gè)庫(kù),所以最大到15)? :? selcet? 1?(切換到1號(hào)庫(kù))
- 啟動(dòng)服務(wù):redis-server.exe ?--service-start
- 停止服務(wù):redis-server.exe ?--service-stop
- redis-server.exe ?--service-uninstall
3.redis數(shù)據(jù)操作
3.1String類型
? ? ? 值是一個(gè)String類型,字符串類型
①設(shè)置key-value:set?鍵名? 鍵值? ?例如:set name tong (設(shè)置鍵名為name,鍵值為tong)
②通過(guò)鍵名獲取鍵值: get?鍵名? ? 例如: get name (就會(huì)獲得"tong"字符串)
③刪除鍵值對(duì): del?鍵名? ? 例如: del name(就刪除了鍵名為name的鍵值對(duì))
④設(shè)置有時(shí)間限時(shí)的鍵值對(duì):setex?鍵名?時(shí)間(秒) 鍵值? ?例如? ?setex name 100 tong (設(shè)置鍵名為name的有100秒限制的鍵值對(duì),100秒后自動(dòng)刪除)
⑤查看鍵值對(duì)的有效期: ttl?鍵名??
⑥同時(shí)設(shè)置多個(gè)鍵值對(duì):mset?鍵名1?鍵值1?鍵名2?鍵值2 .....(以此類推)? ?例如:(mset name tong age 22 address shanxi)
⑦同時(shí)獲取多個(gè)鍵值: mget?鍵名1?鍵名2?鍵名3...(以此類推)? 例如:(mget name age address)
⑧向一個(gè)鍵值對(duì)中的值后面追加數(shù)據(jù): append?要追加的鍵名? ?要追加的值? (append? name 123456)
3.2?鍵命令
①查看有哪些key:keys * (列出了所有的key)
? ? ? keys a*(查看以a開(kāi)頭的所有key)
②判斷key是否存在: exists?鍵名??
③查看key的類型:? type?鍵名
④設(shè)置key的鍵值對(duì)的過(guò)期時(shí)間(以秒為單位):expire?鍵名?時(shí)間(秒)
3.3? list(列表)
? ? ?列表的元素類型為string,按照插入順序排序
①?gòu)牧斜碜筮叢迦胫?#xff1a; lpush?列表名?列表值1?列表值2...(可以插入多個(gè)也可以插入一個(gè))
②從列表中獲取值: lrange?列表名?索引開(kāi)始? 索引結(jié)束 (例如lrange list1 0 -1 :取出list1中的第0個(gè)到最后一個(gè),也就是取出全部的列表值)
? ? ? ?取列表中的第一個(gè)? lrange?列表名 0 0? ? ?,?取列表中的前兩個(gè) lrange?列表名 0 1??
③從列表右邊插入值:rpush?列表名?列表值1?列表值2...(可以插入多個(gè)也可以插入一個(gè))? ? ? ? ?獲取方法和②一致
④移除列表中的值,lrem?列表名 count(相同的刪除幾個(gè)) 要?jiǎng)h除的值? ? 注意:如果count>0,從頭到尾移除,如果count<0,是從后往前刪除? count=0則刪除所有要?jiǎng)h除的值
? ? ?例如:lrem list2 2 aaa(從前往后刪除2個(gè)值為aaa的值)? ? ? ? ? ?例如:?lrem list2 -2 aaa(從后往前刪除2個(gè)值為aaa的值)? ? ??
④更新列表中的值: lset?列表名?第幾個(gè)?要更新的值? ?(例如: lset list2 0 ccc:修改list2中第一個(gè)的值為ccc)??
⑤給某個(gè)值的前面插入值:linsert?列表名?before?某個(gè)值?要插入的值? ?(例如: linsert list2 before bbb aaa:?給list2中的bbb前面插入aaa)
3.4 hash
? ? ?hash用于存儲(chǔ)對(duì)象,對(duì)象的結(jié)構(gòu)為屬性,值 ,值的類型為string? ?hash有個(gè)大key,
①創(chuàng)建hash :? hset?鍵名?屬性名?屬性值?
②獲取hash:hget?鍵名?屬性名?
③創(chuàng)建多個(gè)hash: hmset?鍵名?屬性名1?屬性值1?屬性名2?屬性值2?屬性名3?屬性值3.。。。。(可以有很多個(gè))
④獲取hash中的所有屬性名和屬性值:hgetall?鍵名
⑤獲取hash中鍵名下面的所有屬性名:hkeys?鍵名
⑥獲取hash中鍵名下面的所有屬性值:hvals?鍵名
⑦刪除hash中鍵名的下面的某個(gè)屬性名和屬性值:hdel?鍵名?屬性名
⑧刪除這個(gè)hash:del?鍵名
3.5 set類型(無(wú)序集合)
? ? ? ? 無(wú)序集合,元素具有唯一性,不重復(fù),對(duì)于集合沒(méi)有修改操作
①向集合中添加成員:sadd?集合名?值1?值2....(以此類推)?
②查看集合中的成員:smembers?集合名
③移除集合中的成員:srem?集合名?要移除的成員 (例如:srem classname zhangsan? :? ?移除classname無(wú)序集合中的zhangsan)
3.5 zset類型(有序集合)
? ? ? ?有序集合,元素具有唯一性,不重復(fù),每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的score,表示權(quán)重,通過(guò)權(quán)重將元素從小到大排序
①向有序集合中添加成員:zadd?集合名?權(quán)重1?值1?權(quán)重2?值2?權(quán)重3?值3...(以此類推)? ? ?(例如:zadd result 100 zhangsan 99 lisi 98 xiaowang :? 向result集合中添加權(quán)重為100的zhangsan...)
? ? ?如果單獨(dú)添加,會(huì)按照權(quán)重的大小從小到大排序,如果插入的值為相同的話,則不會(huì)添加新的一樣的值(權(quán)重不一樣會(huì)重新修改權(quán)重)
②查看有序集合:? zrange?集合名?索引開(kāi)始?索引結(jié)束 (例如:zrange result 0 -1:獲取到result集合中從第一個(gè)開(kāi)始到最后一個(gè)結(jié)束的值,也就是全部的值,這個(gè)本博客上面有說(shuō))
③刪除指定成員:zrem?集合名?值1
④按照權(quán)重來(lái)刪除成員(按照權(quán)重范圍)0:zremrangebyscore?集合?最小權(quán)重?最大權(quán)重? (例如:zremrangebyscore result 80 100? :刪除權(quán)重最小為80最大為100,包括80和100的權(quán)重的值)
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的1.Redis安装以及常用命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux命令大全(Ubuntu18系统
- 下一篇: django中的项目使用mysql中的配