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 释放掉分布式锁。