String 字符串
StringSet:
1.設置一個String值
2.設置多個String值,要麼都設置成功,要麼都失敗! 非常有用
StringSetRange:
1.從偏移量offset 開始 使用 value 填充。 如果原來的長度小於offset 中間使用’\0’字符填充(注意,c# 使用 '\0’字符結尾,這種情況導致替換後的字符根本無法顯示出來。) 返回值是替換後的字符串長度
例:
redis中有 key=“a” Value = “111111”;
則
StringSetRange(“a”,1,“222”) 返回值爲 6, 修改後的字符串爲 “122211”。
StringSetRange(“a”,10,“222”) 返回值爲13,修改後的字符串爲"111111\0\0\0\0222",但是c# 只能展示 “111111”,後面無法顯示。要注意。
StringGet:
1.獲取一個String的值
2.獲取多個String的值
StringGetRange:
1.獲取字符串的一個範圍 第start位到第end位
StringGetWithExpiry:
1.獲取字符串的值以及key的剩餘的過期時間
StringGetSet:
1.獲取原來的String值 並用新值替換
StringAppend:
1.字符串追加,返回追加後的字符串長度。
StringLength:
1.獲取字符串的長度
StringIncrement:
1.字符串爲一個數值的,使用此函數可以做加法運算,如果存儲的不是一個數值,將會引發錯誤。
返回增加後的數值
StringDecrement:
1.同上,此函數做減法運算
StringGetBit:
1.獲取某位二進制是不是1
StringBitCount:
1.設置某位二進制 ,返回二進制中原來的值
StringSetBit:
1.獲取範圍中二進制 出現 1的次數
StringBitOperation:
1.first 與 second 中的值做位運算,運算結果保存在 destination中,返回destination的字符串長度
2.一堆key 中做位運算,運算結果保存在destination中沒,返回destination的字符串長度
StringBitPosition:
獲取二進制中第一次出現1或0的位置
Hash 鍵值對
HashSet:
1.設置hash 鍵值對,When只能使用的 NotExists 以及 Always, Exists 不可使用,他表示的是hash的鍵,而非redis的key。要注意!!!
2.設置一堆鍵值對。
HashGet:
1.獲取hash的某個值
2.獲取hash的某些值
HashKeys:
1.獲取hash的所有key
HashValues:
1.獲取hash的所有值
HashLength:
1.獲取hash的鍵值對數量
HashIncrement:
1.Hash中的某值作加法運算
HashDecrement:
1.Hash中的值作減法運算
HashExists:
1.某鍵值對存在不存在
HashGetAll:
1.獲取所有的鍵值對
HashDelete:
1.刪除某個鍵
2.刪除 一些鍵
HashScan:
查詢Hash中的鍵值對。
HashScan:
查詢Hash中的鍵值對,這裏的pagesize 不太清楚。
List 列表
ListLeftPush:
1.從列表的左側插入值 When只能使用Always 以及 Exist 表示的是redis的Key存在不在 而非元素,返回列表中的元素個數。
2.從列表的左側插入一堆值 從數組的第一個開始
ListRightPush:
1.從列表的右側插入值 When只能使用Always 以及 Exist 表示的是redis的Key存在不在 而非元素,返回列表中的
2.從列表的右側插入一堆值 從數組的第一個開始
ListLeftPop:
1.從列表的左側取出一個值
ListRightPop:
1.從列表的右側取出一個值
ListRightPopLeftPush:
1.source列表的右側取出值並把值插入到destination的左側,該操作爲原子操作
ListRemove:
1.刪除列表中的一個元素,可設置要刪除的數量 返回刪除的數量
ListRange:
1.取出列表中的值從Start 到End End=-1表示全部取出
ListLength:
1.列表中的元素個數
ListGetByIndex:
1.獲取列表中某個位置的元素
ListSetByIndex
1.設置列表中某個位置的元素
ListInsertAfter:
1.在pivot 元素的後面插入一個元素 value 插入成功返回的列表總長度,插入失敗返回-1
ListInsertBefore:
1.在pivot 元素前面插入一個元素 value 插入成功返回列表總長度,插入失敗返回-1
ListTrim:
1.按指定範圍裁剪列表
左邊插入,右邊取出即可實現隊列
右邊插入,右邊取出即可實現棧
Set 集合 集合中的值沒有相同的
SetAdd:
1.向集合中添加一個元素。返回是否添加成功
2.向集合中添加一堆元素。 返回添加成功的個數
SetPop: 會刪除集合中的元素
1.從集合中隨機取出一個元素
2.從集合中取出 count 個元素
SetRandomMember: 不刪除集合中的元素
1.從集合中隨機返回一個元素
SetRandomMembers:
1.從集合中隨機返回count的元素
SetRemove:
1.從集合中移除指定的元素 返回是否移除成功
2.從集合中移除一堆元素 返回移除元素的個數
SetScan:
1.模糊查找集合中的元素
SetMembers:
1.返回集合中的所有元素
SetMove:
1.把一個元素從source集合中移動到 destination集合中 返回是否移動成功
當destination 中已存在元素,僅從 source中刪除元素
SetLength:
1.返回集合中元素的個數
SetContains:
1.判斷集合中是否存在元素
SetCombine:
- 兩集合 交集/並集/差集。操作
- 多集合 交集/並集/差集。操作
SetCombineAndStore:
1.兩集合 交集/並集/差集。 操作結果保存在 destination 返回受影響的個數
2.多集合 交集/並集/差集。操作結果保存在 destination 返回受影響的個數
Sorted Set 有序集合
SortedSetAdd:
1.添加一個元素到有序集合中,如果集合中存在 則會修改其對應的分值 返回是否添加成功 此處的 When 表示的是有序集合的元素 而非 redis的key
2.添加多個元素到有序集合中,返回添加的個數
SortedSetScore:
1.返回有序集合中的元素的分值
SortedSetRemove:
1.移除有序集合中的一個元素 返回是否移除成功
2.移除有序集合中的多個元素 返回移除的個數
SortedSetRemoveRangeByRank:
1.移除有序集合中的按索引排序的第Start 到 第Stop個
SortedSetRemoveRangeByScore:
1.移除有序集合中的按分值排序的第Start 到 第Stop個
SortedSetRemoveRangeByValue:
1.移除有序集合中的按值排序的第Start 到 第Stop個
SortedSetLength:
1.返回有序集合中分值min 到 max的元素個數 默認是包含兩者 Exclude.Both 排除兩者 Exclude.Start 排除 min
Exclude.Stop 排除 max。
SortedSetLengthByValue:
1.返回有序集合中元素值min 到 max 的元素個數 默認是包含兩者 Exclude.Both 排除兩者 Exclude.Start 排除 min Exclude.Stop 排除 max。
SortedSetRangeByRank:
1.返回有序集合按索引 升序/降序 第Start個到 Stop個元素
SortedSetRangeByRankWithScores:
1.與上者相同 只是返回的不僅包含 元素 而且有元素對應的分值
SortedSetRangeByScore:
1.返回有序集合按分值 升序/降序 第Start 到 Stop 個元素
SortedSetRangeByScoreWithScores:
1.與上者相同 只是返回的不僅包含 元素 而且有元素對應的分值
SortedSetRangeByValue:
1.返回有序集合按元素值 升序/降序 第Start 到 Stop 個元素
SortedSetScan:
1.模糊查找有序集合中的一個元素
SortedSetIncrement:
1.對有序集合中的某個元素增加一個分值,如果元素不存在 則會添加 將要增加的分值作爲其分值
SortedSetDecrement:
1.對有序集合中的某個元素減少一個分值,如果元素不存在 則會添加 將要減少的分值作爲其分值
SortedSetCombineAndStore:
1.對兩個有序集合 交集/並集/差集 。Aggregate 指示合集後的 分值 取最小 最大 還是求和
2.對多個有序集合 交集/並集/差集
很適合用來做排行榜
其他函數
HyperLogLog 暫時還不知道其用處,下次再補!
GEO 暫時還不知道其用處,下次再補!
Key 鍵操作
KeyExists:
1.返回鍵是否存在
KeyExpire:
1.設置key的過期時間 返回key 是否存在
KeyDelete:
1.刪除一個key
2.刪除一些key
KeyRename:
1.從key 重命名 如果 key 不存在 或者要重命名的已經存在 則會引發錯誤
KeyRandom:
1.隨機取一個key
KeyType:
1.返回key 中存儲的數據類型 不存在返回RedisType.None
KeyTimeToLive:
1.返回Key的剩餘過期時間
KeyDump:
1.把某個 key 中的值序列化成 byte[]數組
KeyRestore:
1.把 keyDump 命令中序列化的值 反序列化保存在key中
KeyMove:
1.把key 從此庫移動到另一個庫
KeyMigrate
1.把key 從本 redis 實例移動到另一個redis實例
KeyPersist
1.移除Key的生存時間
lock 分佈式鎖
LockTake:
1.獲取一把分佈式鎖, 獲取到返回true 沒獲取到返回false
LockExtend:
1.爲分佈式續航, 如果續航成功返回true 續航失敗返回false
LockQuery:
1.獲取分佈式鎖中的value
LockRelease:
1.釋放分佈式鎖
分佈式鎖循環調用 LockTake 直到返回true 設置一個過期時間,是爲了宕機保護,
開啓子線程去調用LockExtend 爲分佈式續航,true 就繼續續航 false 不再執行
執行完代碼後 使用 LockRelease 釋放掉分佈式鎖。