redis服务器索引文件删除,Redis基本命令整理
strings類型
設值
設單個值
set key value
如果不存在,設一個值
setnx key value
//nx: not exists
設置過期時間(expired time)
setex key [number] value
//number為有效期,有效期過后,值為nil
把number索引后面替換為value
setrange key [number] value
設置多個值
mset key1 value1 key2 value2 …
批量設值
msetnx key1 value1 key2 value2 …
//設值全部成功或全部回滾
取值
get key
設置key值,并返回key的舊值
getset key value
獲取指定區間的子字符串
getrange key number1 number2
批量獲取key值,不存在的返回nil
mget key1 key2 key3 …
值操作
自增1
incr key
增加指定值
incrby key number
自減1
decr key
減去指定值
decry key number
拼接字符
append key value
取key的value長度
strlen key
hashes類型
創建hash數據結構,指定key值為value
hset hash_name key value
如果不存在,設置新值
hsetnx hash key value
批量設定hash的多個field
hmset hash key1 value1 key2 value2 …
獲取hash指定的key值
hget hash key
獲取指定的全部key值
hmget hash key1 key2 …
給指定的hash field加上定值number
hincrby hash key number
指定的field是否存在
hexists hash key
獲取指定的hash的field數量
hlen hash
移除指定的field
hdel hash key
返回所有key值
hkeys hash
返回所有value值
hvals hash
返回所有key value
hgetall hash
lists類型
鏈表結構,主要功能是push pop,獲取范圍內的值
分非阻塞版本(默認)、阻塞版本
list左側(或稱頭部)添加值value
lpush list value
list右側(或稱尾部)添加值value
rpush list value
在key對應list的位置之前/之后插入元素value
linsert list before/after key value
設置list中指定下標元素值
lset list index value
從list中刪除count個value值
lrem list count value
保留指定區間的值
ltrim list index1 index2
彈出頂部元素并返回該值
lpop list
同上,底部
rpop list
彈出list1底部元素,并添加到list2頭部,返回該值
rpoplpush list1 list2
返回value在list中的索引
lindex list value
返回list長度
llen list
sets類型
集合,和數學的集合概念相似,有交并差等操作(union、intersection、difference)
無序string類型集合,由hashtable實現,復雜度O(1)
添加set值
sadd set value
移除set中的值value
srem set value
隨機移除set的value并返回
spop set
差集
sdiff set1 set2
返回set1于set2的差集(即set1中不存在于set2中的value的集合)
sdiff set1 set2的結果 不等于 sdiff set2 set1的結果
將set1 set2的差集存儲到set3中
sdiffstore set3 set1 set2
返回set1 set2的交集
sinter set1 set2
將交集存儲到set3
sinterstore set3 set1 set2
并集
sunion set1 set2
將并集存儲到set3
sunionstore set3 set1 set2
將value從set1移動到set2
smove set1 set2 value
返回set中元素數量
scard set
判斷value是否是set中元素
sismember set value
隨機獲取set值
srandmember set
Sorted sets類型 : zset
set基礎上添加了順序屬性,zset會按新的值調整順序,可以理解為有兩列的數據庫表,一列為value,一列為排序數值。
zset每個元素會關聯一個double類型的score。
sorted set是skip list和hash table的混合體
在索引位置添加值value
zadd zest index value
移除value
zrem zest value
自增
zincrby zset number value
如果value存在于zset中,其score值增加number
如果value不存在,在zset中增加value,其score值為number
獲取序列編號
zrank zset value
返回value在zset中的序列(按score升序排列),即索引(下標)
獲取反向序列編號
zrevrank zset value
返回value在zset中的序列(按score降序排列),即索引(下標)
獲取反向序列編號
zrevrange zset index1 index2 [withscores]
將zset按照score值降序排列,區間為index1至index2,with scores控制是否顯示score值
(測試不通過)
返回給定socre區間元素數量
zcount zset score1 score2
返回給定的value的score值
zscore zset value
移除給定的索引區間的元素
zremrangebyrank zset index1 index2
移除給定的score區間的元素
zremrangebyscore zset score1 score2
Redis常用命令
鍵值相關命令
返回滿足給定的pattern的所有key,如keys , keys mylist
keys [pattern]
確認一個key是否存在
exists key
移除一個key
del key
設置過期時間
expire key number
給key設置一個過期時間number,單位秒,ttl key顯示剩余時間,過期后值為-2
設置永不過期
persist key
將expire過程中的key持久化,變成不會不過期狀態,持久化之后,執行ttl key值為-1
重命名key
rename key new_name
返回key的數據類型
type key
將key移動到其他庫
move key schema
服務器命令
測試連接是否存活,如果是,返回PONG
ping
打印內容
echo string
選擇數據庫,編號0-15
select number
退出連接
quit
返回當前數據庫key的數目
dbsize
獲取服務器信息和統計
info
獲取服務器配置信息
config get attribute
查看全部配置
config get *
清空當前數據庫
flushdb
清空所有庫
flushall
高級實用特性
1.安全性,設置密碼
2.主從復制
master可以有多個slave,slave還可以連接到其他slave。
主從復制不會阻塞master,在數據同步時,master可以繼續處理client請求。
3.事務控制
開啟事務
multi
執行事務,提交
exec
事務回滾
discard
注意:redis 部分事務失敗,不會回滾全部事務
樂觀鎖
watch key
4.持久化機制
快照方式 snapshotting
(1)自動保存快照
配置信息:
save 900 1 #如果900秒內超過1個key被修改,則發起快照保存
save 300 10 #如果300秒內超過1個key被修改,則發起快照保存
save 60 10000 …
過程:
1. redis調用fork,為主進程(父進程)創建一個子進程
2. 父進程繼續處理client請求,子進程將內存內容寫入臨時文件。子進程地址空間內的數據是fork時的整個數據庫的快照。子進程不會影響父進程處理client請求。
3.當子進程將快照寫入臨時文件完畢后,用臨時文件替換原來的快照文件,然后子進程退出。
(2)save / bgsave
手動保存快照,在主線程中完成快照保存,會阻塞所有的client請求。
每次都是將內存數據完整的寫入到磁盤,如果數據量大,會引起大量的IO操作,影響性能。
Append-only file方式
記錄每次write的操作內容
比快照方式更好
5.發布及訂閱消息pub/sub
訂閱tv1
client1: subscribe tv1
訂閱tv2
client2: subscribe tv1 tv2
發布tv1消息,client1 client2收到消息
client3: publish tv1 program1
發布tv2消息,client2收到消息
client3:publish tv2 program2
批量訂閱tv開頭的頻道內容
psubscribe tv*
6.Pipeline批量發送請求
可以將多個命令放到一個tcp報文一起發送、返回。
7.虛擬內存的使用
總結
以上是生活随笔為你收集整理的redis服务器索引文件删除,Redis基本命令整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器平均响应时长计算,并发数 = QP
- 下一篇: 彭字开头的成语有哪些?