# .NET Core使用Redis ## 简介 Redis是一个开源的、内存中的数据结构存储系统,它通常被用作数据库、缓存和消息中间件。它具有高性能、可扩展性和灵活性的特点,被广泛应用于各种场景中。在.NET Core中,我们可以使用第三方的Redis来简化与Redis的交互。 ## 安装Redis 在.NET Core中,我们可以使用StackExchange.Redis来与
原创 2023-07-27 04:08:54
111阅读
说明最近因需要研究了一下消息推送,也是在网上参考其他大佬的文章以后进行的尝试,特此记录探索的小实践,也是为了后面需要时参考参考, 如果大家发现不妥之处欢迎指正。目标需要负载均衡,部署多服务,业务场景触发处理消息提醒,实现业务端出发消息推送 后台给指定用户发送消息后台给指定群体进行发送消息关于使用默认namespace,后面有时间再研究自定义namespace关于room, 目前打算将用户id
 Redis介绍         Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,他的值可以是string(字符串)、list(列表)、sets(集合)或者是ordered sets(被排序的
转载 2023-06-26 14:58:24
104阅读
一、课程介绍人生苦短,我用.NET Core!缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力。  所以经常要用到且不会频繁改变且被用户共享的数据很适合放在缓存中。为了提高程序效率,我们经常将一些不频繁修改,但是使用了还很大的数据进行缓存。尤其是互联网产品,缓存可以说是提升效率优化第一利器。微软为我们实现了两种缓存方式:内
转载 2024-01-18 11:25:36
50阅读
最近有较多的时间给我做框架优化的工作,之所以会关注到redis连接池则是因为框架的数据路由层在redis连接异常时的处理有可以优化的地方,于是针对redis连接池的功能做了学习和测试。
转载 2023-05-30 23:43:14
135阅读
一、项目场景:添加任务并设定任务的执行时间,然后按时间顺序由近到远依次执行。二、思路:可以利用redis的有序集合(SortedSet),用时间戳排序实现,大概的流程如下。三、关键思路&代码段写入任务使用任务下一次的执行时间按分钟生成key,将同一分钟待执行的任务放到一个key中,这一步主要思考的问题是:拆分队列,设置各自的过期时间,如:过期时间 = 执行时间 + 5分钟,保证过期的队列自
转载 2023-06-10 22:12:29
329阅读
一 服务端缓存1 RedisRedis是Key/Value的内存数据库作用:缓解数据库的压力将一些不经常变化的而又读取频繁的数据存入redis缓存Redis支持主从同步。思路:首先判断缓存中是否存在,如存在直接从Redis缓存中获取。如果Redis缓存中不存在,实时读取数据库数据,同时写入缓存(并设定缓存失效的时间)。缺点:如果直接修改了数据库的数据而又没有更新缓存,在缓存失效的时间内将导致读取的
转载 2023-12-12 13:38:56
112阅读
前言  稍微复杂一点的互联网项目,技术选型都可能会涉及Redis,.NetCore的生态越发完善,支持.NetCore的Redis客户端越来越多,下面三款常见的Redis客户端,相信大家平时或多或少用到一些,结合平时对三款客户端的使用,有些心得体会。先比较宏观的背景: 使用心得三款客户端Redis支持的连接字符串配置基本相同"connectionstrings": { "redis":
转载 2023-10-13 13:51:36
181阅读
Redis如何支撑秒杀秒杀场景的特征秒杀场景一般都是大量的用户抢购极少量的产品,这就带来一些性能上的问题。系统瞬时并发访问量高一般数据库能承受的并发数是千级别的,如果采用数据库直接应对秒杀场景多半会直接击垮数据库,而Redis每秒处理的请求能达到万级别甚至十万级别,所以在秒杀场景Redis是比较好的选择。系统读请求远大于写请求秒杀场景是一个典型的读多写少场景,大量用户都在不停的刷新请求,用户需要先
转载 2023-07-10 17:59:46
290阅读
java.net提供实现网络应用与开发的类。URL类 URL代表一个统一资源定位符,它是指向互联网“资源”的指针。 资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。URL ul= new URL(uu); 构建URL对象 ul.getQuery() 得到参数请求部分 ul.getPort() 得到端口号 ul.getProtocol() 得
转载 2023-09-06 13:17:12
49阅读
开篇叙 ,顺手点个推荐也不错;a. 秒杀流程b. 封装StackExchange.Redis的使用类c. Ubuntu16.04上使用Jexus搭建代理完成分布式部署d. NetCore写实时监控队列服务秒杀架构设计图︿( ̄︶ ̄)︿三幅1. 一般业务性架构 2. 后端分布式架构 3. 整站分布式 项目工程结构描述a. 该项目gi
转载 2023-10-17 14:46:05
51阅读
1、下载安装Redis下载地址:https://github.com/tporadowski/redis/releases例如我的系统是win10 64位,则下载:安装教程,可以参考:https://www.runoob.com/redis/redis-install.html这里简单说下:运行cmd ,然后切换至redis所在目录,执行redis-server.exe redis.windows
转载 2023-06-10 14:37:20
100阅读
Hello 大家好,我是TANZAME,我们又见面了。今天我们来聊聊怎么手撸一个 Redis Cluster 集群客户端,纯手工有干货,您细品。  随着业务增长,线上环境的QPS暴增,自然而然将当前的单机 Redis 切换到群集模式。燃鹅,我们悲剧地发现,ServiceStack.Redis这个官方推荐的 .NET 客户端并没有支持集群模式。一通度娘翻墙无果后,决定自
转载 2024-02-26 20:33:40
53阅读
文件并发(日志处理)--队列--Redis+Log4NetRedis简介Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服
转载 2023-11-24 22:48:37
70阅读
NET也有闭包在.NET中,函数并不是第一级成员,所以并不能像JavaScript那样通过在函数中内嵌子函数的方式实现闭,通常而言,形成闭有一
转载 2011-08-09 18:36:00
72阅读
NET也有闭包在.NET中,函数并不是第一级成员,所以并不能像JavaScript那样通过在函数中内嵌子函数的方式实现闭,通常而言,形成闭有一些值得总结的非必要条件:  嵌套定义的函数。  匿名函数。  将函数作为参数或者返回值。在.NET中,可以通过匿名委托形成闭:delegate void MessageDelegate();static void Main(string[] ar
转载 2011-08-09 18:28:00
58阅读
2评论
NET也有闭 在.NET中,函数并不是第一级成员,所以并不能像JavaScript那样通过在函数中内嵌子函数的方式实现闭,通常而言,形成闭有一些值得总结的非必要条件:   嵌套定义的函数。   匿名函数。   将函数作为参数或者返回值。 在.NET中,可以通过匿名委托形成闭: delegate
转载 精选 2011-08-09 18:37:15
245阅读
Lookup所有相关的函数全在net包下的doc.go中LookupHost(host string) (addrs []string, err error)对某个主机名执行DNS查询,返回主机名,注意返回的是字符窜slice.可能有多个IP地址 addr, _ := net.LookupHost("www.baidu.com") fmt.Println(addr) // [220.181.112.143 220.181.111.148] LookupIP(host string) (addrs []IP, err error)同上,不过返回的是IP类型的sliceLook
转载 2013-04-18 15:03:00
87阅读
2评论
TCP和UDP并不是建立在IP层之上唯一的协议。该网站:http://www.iana.org/assignments/protocol-numbers 列表上大约有140关于它们(该列表往往在Unix系统的/etc/protocols文件上。)。TCP和UDP在这个名单上分别为6和17。Go允许你建立所谓的原始套接字,使您可以使用这些其它协议通信,或甚至建立你自己的。但它提供了最低限度的支持: 它会连接主机, 写入和读取和主机之间的数据。在接下来的章节中,我们将着眼于设计和实现自己的基于TCP之上的协议; 这部分认为同样的问题存在于IP层。为了简单起见,我们将使用几乎最简单的例子: 如何发
转载 2013-04-18 15:01:00
65阅读
2评论
FD file descriptor 文件信息netFD 实现了各个系统对socket的封装conn该结构实现了Conn接口type conn struct { fd *netFD}conn的方法Read(b []byte) (n int, err error)从连接中读取所有内容 result, err := ioutil.ReadAll(conn) //读取所有内容 //读取指定长度的内容 var buf [512]byte n, err := conn.Read(buf[0:]) //不断的从连接读取.. result := bytes.NewBuffer...
转载 2013-04-18 14:59:00
102阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5