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:

  1. 两集合 交集/并集/差集。操作
  2. 多集合 交集/并集/差集。操作

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

String 字符串StringSet:1.设置一个String值2.设置多个String值,要么都设置成功,要么都失败! 非常有用StringSetRange:1.从偏移量offset 开始 使用 value 填充。 如果原来的长度小于offset 中间使用’\0’字符填充(注意,c# 使用 '\0’字符结尾,这种情况导致替换后的字符根本无法显示出来。) 返回值是替换后的字符串长度例...
前两天朋友问我,有没有 使用 Stack Ex change . Redis ,问我要个封装类,由于之前都是 使用 Service Stack . Redis ,由于Service Stack . Redis v4版本后是收费版的,所以现在也很有公司都在 使用 Stack Ex change . Redis 而抛弃Service Stack . Redis 了。其实个人觉得,两个驱动都不错,只是由于Service Stack . Redis 收费导致目前很多公司都是基于V3版本的 使用 ,也有人说V3版本有很多Bug,没有维护和升级,不过至少目前我是没发现Bug。 不过Service Stack . Redis Stack Ex change . Redis 比较,抛开收
【实例简介】 C# Stack Ex change . Redis 操作封装类库,分别封装了 Redis 五大数据结构( String ,Hash,List,Set,ZSet)的增删改查的操作方法,支持Async异步操作。​支持 Redis 分库操作。支持信息队列操作。 带有单元测试,为每个方法都做了测试。包括 Redis 队列操作测试
支持Hangfire批处理( ) 借助ConnectionMultipl ex er,可有效利用 Redis 资源 支持 Redis 前缀,允许针对单个 Redis 数据库的多个Hangfire实例 允许自定义成功和失败列表的大小 尽管有名称, Hangfire. Redis . Stack Ex change .StrongName尚未签名,因为Hangfire.Core尚未签名。 教程:ASP.NET Core MVC上的 Redis 上的Hangfire 要在ASP.NET Core MVC项目中对 Redis 使用 Hangfir
1.2.1版 Stack Ex change . Redis 可用于vs2010。 C# 可以用。 Stack Ex change . Redis 是.net下的 Redis 客户端之一,目前是免费的。而用户量比较多的Service Stack . Redis 现在是收费的。vs2010属于.NET4.0。所以vs2010只能用 Stack Ex change . Redis 的1.2.1版及以前的版本。1.2.1以后的版本不支持.NET4.0了。 把下载的三个文件( Stack Ex change . Redis .dll、 Stack Ex change . Redis .dll.refresh、 Stack Ex change . Redis .xml)复制粘贴到计算机上的某个目录下。然后在vs2010的解决方案资源管理器窗口中右击项目,单击“添加引用”,然后在打开的窗口中选“浏览”标签,之后找到要 使用 的dll文件( Stack Ex change . Redis .dll),点击确定即可引进 Stack Ex change . Redis 。之后就可以在程序中 使用 dll了。在 C# 程序里需要引用 Stack Ex change . Redis 名字空间: Using Stack Ex change . Redis ; 另外, 使用 vs2010,需要安装.net framework 4.6(可从微软官网下载安装),否则程序运行时会提示无法从程序集调用 Stack Ex change . Redis
1、安装 Stack Ex change . Redis 在 NuGet 中搜索 Stack Ex change . Redis 和 Newtonsoft.Json,直接点击按钮安装即可。 Stack Ex change . Redis C# 操作 Redis 数据库的客户端。 Newtonsoft.Json 用来序列化 Josn 字符串及反序列化拿到对象。 2、引用及初始化 using Stack Ex change . Redis ; using Newtonsoft.Json; 初始化 redis
Stack Ex change . Redis 是一款免费的操作 Redis 的客户端工具,我们 使用 这个库来简单的学习下 Redis 的一些基本操作 Redis 默认安装好后的端口是6379 密码可以自己设置, 使用 命令修改 config get requirepass //获取当前密码 config set requirepass "yourpassword"//设置当前密码 代码里需引用 Stack Ex ch...
Redis 是一个开源的 使用 ANSI C语言编写的支持网络、可基于内存也可持久化的日志型、Key-Value 数据库。 常用 它来存储缓存数据,能非常轻松的实现缓存过期刷新机制。 多种语言都可以连接到 Redis 数据库服务器,本文将推荐一个非常简洁的 C# 连接 Redis 数据库的开源项目。 通常, C# 使用 Redis 会推荐 使用 添加 NuGet 包 Stack Ex c...
Redis String Service 类请参考第一篇的封装 redis 数据结构 string 使用 using ( Redis String Service service = new Redis String Service()) service.Set< string >("student1", "梦的翅膀");
1.安装 redis 操作工具包,Service Stack . Redis 。2.在App.config/web.config配置 Redis 信息 &lt;configSections&gt; &lt;section name=" Redis Config" type=" redis Demo. redis . Redis Config, redis Demo" /&gt; &lt;/configSections&...
Nuget添加 Stack Ex change . Redis 的引用 由于 Redis 封装类同时 使用 了Json,需要添加JSON.NET引用(Newtonsoft.Json) Redis 封装类 /// <summary> /// Redis 操作类 /// </summary> public class Redis Helpe...
### 回答1: Stack Ex change . Redis 是一个.NET平台下的开源 Redis 客户端库,它提供了一种高性能、稳定和易于 使用 的方式来与 Redis 服务器进行通信。它支持异步和同步操作,并提供了一些高级特性,如管道、发布/订阅等。 Stack Ex change . Redis 具有以下特点: - 快速:通过 使用 高性能、低级别的 Redis 通信协议, Stack Ex change . Redis 可以实现高效的数据访问。 - 可扩展性: Stack Ex change . Redis 支持分区功能,使它能够在多个 Redis 节点上分布数据,并且可以在需要时轻松地添加或删除节点。 - 可靠性: Stack Ex change . Redis 有一个内置的连接池来管理与 Redis 服务器的连接,从而可以提高性能和可靠性,并避免了频繁的连接/断开开销。 - 易用性: Stack Ex change . Redis 提供了一个简单的 API ,使得开发人员能够轻松地与 Redis 进行交互。 总的来说,如果你在.NET平台上 使用 Redis Stack Ex change . Redis 应该是你的首选。 ### 回答2: Stack Ex change . Redis 是一个基于 Redis 的 .Net客户端库,由 Stack Ex change 团队开发和维护。 Redis 内存数据库是非常流行的键值对存储,支持复杂数据结构,速度快,有完善的集群方案,在web应用程序、消息系统等应用场景中被广泛 使用 Stack Ex change . Redis 提供了方便易用、高性能、可扩展的 API ,可以直接向 Redis 发送命令、订阅和发布消息、连接 Redis 集群等。他进一步扩展了 Redis 命令,使其更加简单易用,并支持事务、管道和多线程操作。同时, Stack Ex change . Redis 支持 Redis 的高级特性,如SortedSet和Hash;而且,它还能够在运行时自动检测 Redis 服务状态,支持 Redis Sentinel、Cluster和多节点环境。 此外, Stack Ex change . Redis 还支持应用程序跟踪(application tracing),采用异步 API 调用,从而提高了性能和可伸缩性。与其他 Redis 客户端库不同, Stack Ex change . Redis 实现了连接池、序列化和反序列化器等高级功能, 使用 起来更加方便和优雅,可以减少代码量和复杂性。 总的来说, Stack Ex change . Redis 是一个很不错的 Redis 客户端库,它提供了强大而与 Redis 完全兼容的 API ,打破了语言壁垒,使得开发者可以在自己喜欢的语言环境(例如.Net)中 使用 Redis 。 许多一流的公司如 Stack Overflow和GitHub都 使用 Stack Ex change . Redis ,证明了它的可靠性和性能优势。 ### 回答3: Stack Ex change . Redis Redis 数据库的一个适用于 .NET 编程语言的客户端。它提供了一组丰富的功能,用于在 .NET 框架内与 Redis 数据库进行交互。 Stack Ex change . Redis 旨在为 .NET 开发人员提供最佳的 Redis 集成体验。 Stack Ex change . Redis 提供了许多优点,其中最主要的有: 高度优化的读写操作。 Stack Ex change . Redis 客户端库具有非常高的效率,用于从 Redis 服务器读取和写入数据时,可大大减少网络流量和延迟。这使得它成为处理高吞吐量负载的很好的选择。 支持许多复杂数据类型。除了提供基本的字符串和整数类型之外, Stack Ex change . Redis 还支持许多复杂的数据类型,例如哈希表、排序集合和列表数据类型。这些数据类型将极大地帮助开发人员设计和实施高效的 Redis 应用程序。 易于 使用 和集成。 Stack Ex change . Redis 具有完美的适配性,可以很简单地与 .NET 中的 ASP.NET 应用程序、Windows 服务、控制台应用程序等相集成。此外,它具有丰富的文档、教程和 API reference,可以让开发者轻松入手。 另外, Stack Ex change . Redis 还包括许多其他特性,如:连接复用、事务支持、发布与订阅、管道等。这使得它成为在 .NET 编程语言中 使用 Redis 数据库的非常好的选择。