C#之Redis所欲为
2021-04-10 22:25
标签:方式 依赖 none tco 访问 str service 服务 sha 一 Redis是一种支持多种数据结构的键值对数据库 1.1Redis下载地址 :https://github.com/MicrosoftArchive/Redis 建议下载 .msi结尾的应用程序进行安装,会自动安装Redis服务 Redis默认是不能外网访问的 把Redis部署到本地请忽视下面 设置防火墙端口例外 更改redis.conf 文件 更改为 1.2 Redis支持的数据类型:string、list、set、sortedset、geo(Redis 3.2以上版本),注意不同方法写入的值不能用混了,比如有写list的方法写入的值用获取字符串的方法去获取就有问题了。 1.3 Redis的优点: 支持多种复杂类型的数据结构 高命中的数据是运行在内存中的,数据最终还是可以保存到硬盘中,服务器重启后数据不会丢失 服务器是单线程的,来自所有客户端的所有命令都是串行执行的,不用担心并发修改的问题 支持消息订阅/通知机制,可以用作消息队列 key/value 最大长度允许512M 1.4 Redis的缺点: Redis是单线程的,因此单个Redis的实例只能使用服务器的一个CPU核,不能充分发挥服务器的性能 二 在 .Net中操作Redis 2.1 在 .net中主要使用两个开源的组件来操作Redis 1. StackExChange.Redis:依赖的组件少,操作接近原生的Redis操作 2. ServiceStack.Redis:依赖的组件较多,封装的程度较高 NuGet命令安装组件 Install-Package StackExChange.Redis 2.2 操作字符串类型的数据 2.3 操作List类型数据 2.5 Hash value 又是一个“键值对集合”或者值是另外一个 Dictionary。 2.6 SortedSet类型的数据 如果对于数据遍历顺序有要求,可以使用 sortedset,他会按照打分来进行遍历。 2.5 Geo数据类型的基本操作 Geo 是 Redis 3.2 版本后新增的数据类型,用来保存兴趣点(POI,point of interest)的坐标信息。 可以实现计算两 POI 之间的距离、获取一个点周边指定距离的 POI。 三 Redis批量操作 如果一次性执行多个Redis操作很多那么会很慢,可以使用批量操作。 主要有两种方式: 1) 几乎所有的操作都支持数组类型,这样就可以一次性操作多条数据:比如 GeoAdd(RedisKey key, GeoEntry[] values)、SortedSetAdd(RedisKey key, SortedSetEntry[] values) 2) 如果一次性的操作不是简单的同类型操作,那么就要使用批量模式: IBatch batch = db.CreateBatch(); db.GeoAdd("ShopsGeo1", new GeoEntry(116.34039, 39.94218, "1")); db.StringSet("abc", "123"); batch.Execute(); 会把当前连接的 CreateBatch()、Execute()之间的操作一次性提交给服务器。 C#之Redis所欲为 标签:方式 依赖 none tco 访问 str service 服务 sha 原文地址:https://www.cnblogs.com/xiongT/p/9038845.htmlbind 127.0.0.1
protected-mode yes
# bind 127.0.0.1
protected-mode no
然后重启Redis服务, //创建一个连接,写入一个字符型数据然后读取
public async Task
//String类型可以用作计数器
public async Task
public async Task
public async Task
public async Task
上一篇:C#共享内存整理