RedisHelper使用

88 阅读3分钟
 0、通用指令
//查找所有分区节点中符合给定模式(pattern)的 key
string[] keyAll = RedisHelper.Keys("*");

//以秒为单位,返回给定 key 的剩余生存时间
long ttl1 = RedisHelper.Ttl("keyString1");
//用于在 key 存在时删除 key
long del1 = RedisHelper.Del("keyString1");
//检查给定 key 是否存在
bool isExists1 = RedisHelper.Exists("keyString1");
//为给定 key 设置过期时间
bool isExpire1 = RedisHelper.Expire("keyString1", 100);
//为给定 key 设置过期时间
RedisHelper.ExpireAt("keyString1", new DateTime(2021, 6, 11, 16, 0, 0));

1、string(字符串)
// 设置指定 key 值,默认不过期
bool set_string1 = RedisHelper.Set("keyString_String1", "测试值1");
// 设置指定 key 值,并设置过期时间(单位:秒)
bool set_string2 = RedisHelper.Set("keyString_String2", "测试值2", 1);
// 获取指定 key 的值,不存在的 key,值返回null
string get_string1 = RedisHelper.Get("keyString_String1");
// 获取指定 key 的值,不存在的 key,或者指定的 key 不是int型,则返回int类型的默认值0
int get_int1 = RedisHelper.Get<int>("keyString_String1");

2对整数类型进行自增,自减操作
bool set_int1 = RedisHelper.Set("keyString_Num1", "23");
// 将 key 所储存的值加上指定的增量值(increment)
long incrBy1 = RedisHelper.IncrBy("keyString_Num1", 2);// #25
// 将 key 所储存的值加上指定的增量值(increment),负数就是减量值
long incrBy2 = RedisHelper.IncrBy("keyString_Num1", -1);// #24

3在指定 key 的 value 末尾追加字符串
bool set_append1 = RedisHelper.Set("keyString_Append1", "qaz", 30);

// 将指定的 value 追加到该 key 原来值(value)的末尾

long append1 = RedisHelper.Append("keyString_Append1", "wsx");// #6 结果:key 中字符串的长度

4、list(列表)
// 将一个或多个值插入到列表头部

string[] lpush1 = new string[] { "003", "004" };
long len1 = RedisHelper.LPush("list", "000");
long len2 = RedisHelper.LPush("list", "001", "002");
long len3 = RedisHelper.LPush("list", lpush1);
// 在列表中添加一个或多个值 [列表尾部]
long len4 = RedisHelper.RPush("list", "010");
// 移除并获取列表的第一个元素
string val1 = RedisHelper.LPop("list");
// 移除并获取列表的最后一个元素
string val2 = RedisHelper.RPop("list");
// 获取列表指定范围内的元素[key, start, stop]
string[] lrang1 = RedisHelper.LRange("list", 0, 2); // #左侧开始,获取前3个元素
string[] lrang2 = RedisHelper.LRange("list", 0, -1); // #左侧开始,获取全部元素
// 将 list 最后一个元素弹出并压入 list_another 的头部 [只有一个元素的改变,源列表会少一个元素,目标列表多出一个元素]
RedisHelper.RPopLPush("list", "list_another");
RedisHelper.Expire("list_another", 30);

 4、set(无序集合)
 // 向集合添加一个或多个成员 [返回添加成功个数]

long sadd1 = RedisHelper.SAdd("my_set", "qaz");
long sadd2 = RedisHelper.SAdd("my_set", "tgb", "yhn");
string[] set1 = new string[] { "wsx", "edc" , "rfv" };
long sadd3 = RedisHelper.SAdd("my_set", set1);
// 判断 member 元素是否是集合 key 的成员
bool isMember = RedisHelper.SIsMember("my_set", "qaz");
// 返回集合中的所有成员..
string[] members = RedisHelper.SMembers("my_set");
// 返回集合中的一个随机成员
string member1 = RedisHelper.SRandMember("my_set");
// 移除集合中一个或多个成员
long sRem = RedisHelper.SRem("my_set", "qaz");
// 移除并返回集合中一个随机成员
string member2 = RedisHelper.SPop("my_set");

5 #对两个集合进行交、并、差操作
RedisHelper.SAdd("set-a", "item1", "item2", "item3", "item4", "item5");
RedisHelper.SAdd("set-b", "item2", "item5", "item6", "item7");
// 差集
RedisHelper.SDiff("set-a", "set-b"); // "item1", "item3","item4"
// 交集
RedisHelper.SInter("set-a", "set-b"); // "item2","item5"
// 并集
RedisHelper.SUnion("set-a", "set-b"); // "item1","item2","item3","item4","item5","item6","item7"
//#另外还可以用SDiffStore,SInterStore,SUnionStore将操作后的结果存储在新的集合中。


 6、Geo(经纬度)
 //1. 添加地点经纬度 [存储到 sorted set 中]
RedisHelper.GeoAdd("myLocation", Convert.ToDecimal(116.20), Convert.ToDecimal(39.56), "北京");
RedisHelper.GeoAdd("myLocation", Convert.ToDecimal(120.51), Convert.ToDecimal(30.40), "上海");
//2. 求两点之间的距离
var d1 = RedisHelper.GeoDist("myLocation", "北京", "上海", GeoUnit.km);

7、事务
// 开启事务
var pipe = RedisHelper.StartPipe();
//中间对redis进行操作+
pipe.Set("pipe1", "wsx");
// 提交
pipe.EndPipe();