Lind.DDD.Repositories.Redis层介绍

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

之前已经发生了

大叔之前介绍过关于redis的文章,有缓存,队列,分布式pub/sub,数据集缓存以及仓储redis的实现等等,而今天在Lind.DDD的持久化组件里,redis当然也有一席之地,作为当今最红的key/value存储机制,它在nosql的阵营中发挥着无可代替的作用!

下面是redis文章系列的目录,大家可以进行参考,看目录

Redis学习笔记~Redis在windows环境下的安装

Redis学习笔记~Redis在.net中的应用

Redis学习笔记~Redis提供的五种数据结构

Redis学习笔记~五大数据结果的测试

Redis学习笔记~实现消息队列比MSMQ更方便

Redis学习笔记~把redis放在DATA层,作为一种数据源,我认为更合理,也更符合我的面向对象原则

Redis学习笔记~是时候为Redis实现一个仓储了,RedisRepository来了

Redis学习笔记~Redis实现多个緩存服务器,读写分离

Redis学习笔记~Redis事务机制与Lind.DDD.Repositories.Redis事务机制的实现

Redis学习笔记~Redis并发锁机制

Lind.DDD里的仓储模块,Mongodb有一席之地

大叔的Redis仓储结构

大叔在进行redis仓储设计时,使用了redis事务机制来维持数据的一致性,这种事务要求它们属于同一个redis连接对象,所以,在SetDataContext方法中实现了这种业务逻辑

        public void SetDataContext(object db)
        {
            try
            {
                //手动Redis数据库对象,在redis事务时启用
                redisDB = (IRedisClient)db;
                redisTypedClient = redisDB.GetTypedClient<TEntity>();
                table = redisTypedClient.Lists[typeof(TEntity).Name];
            }
            catch (Exception)
            {

                throw new ArgumentException("redis.SetDataContext要求db为IRedisClient类型");
            }

        }

让代码去改变我们的生活,改变我们的世界吧!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Lind.DDD.Repositories.Redis层介绍,如需转载请自行联系原博主。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
SQL 缓存 Java
殷浩详解DDD系列 第三讲 - Repository模式
# 第三讲 - Repository模式 **写在前面** 这篇文章和上一篇隔了比较久,一方面是工作比较忙,另一方面是在讲Repository之前其实应该先讲Entity(实体)、Aggregate Root(聚合根)、Bounded Context(限界上下文)等概念。但在实际写的过程中,发现单纯讲Entity相关的东西会比较抽象,很难落地。所以本文被推倒重来,从Repository
36644 8
|
3月前
|
NoSQL Java Redis
springCloud中将redis共用到common模块
通过将Redis配置和操作服务提取到Common模块,可以在Spring Cloud微服务架构中实现高效的代码复用和统一管理。这种设计不仅简化了各个服务的配置和依赖管理,还提高了代码的可维护性和可读性。希望本文对你在Spring Cloud项目中集成和使用Redis有所帮助。
131 0
|
9月前
|
缓存 NoSQL Java
分布式项目中锁的应用(本地锁-_redis【setnx】-_redisson-_springcache)-fen-bu-shi-xiang-mu-zhong-suo-de-ying-yong--ben-de-suo--redissetnx-springcache-redisson(一)
分布式项目中锁的应用(本地锁-_redis【setnx】-_redisson-_springcache)-fen-bu-shi-xiang-mu-zhong-suo-de-ying-yong--ben-de-suo--redissetnx-springcache-redisson
106 0
|
9月前
|
缓存 NoSQL Redis
分布式项目中锁的应用(本地锁-_redis【setnx】-_redisson-_springcache)-fen-bu-shi-xiang-mu-zhong-suo-de-ying-yong--ben-de-suo--redissetnx-springcache-redisson(二)
分布式项目中锁的应用(本地锁-_redis【setnx】-_redisson-_springcache)-fen-bu-shi-xiang-mu-zhong-suo-de-ying-yong--ben-de-suo--redissetnx-springcache-redisson
70 0
|
9月前
|
NoSQL Redis
spring-state-machine使用redis持久化
spring-state-machine使用redis持久化
256 0
|
缓存 NoSQL Redis
redis的manager层应用
redis的manager层应用
85 0
|
存储 XML 前端开发
使用Spring Data repository进行数据层的访问
使用Spring Data repository进行数据层的访问
219 0
使用Spring Data repository进行数据层的访问
|
消息中间件 缓存 NoSQL
【SpringBoot DB 系列】Redis 高级特性之发布订阅
通常来讲,当我们业务存在消息的业务逻辑时更多的是直接使用成熟的 rabbitmq,rocketmq,但是一些简单的业务场景中,真的有必要额外的引入一个 mq 么?本文将介绍一下 redis 的发布订阅方式,来实现简易的消息系统逻辑
232 0
|
存储 NoSQL 算法
【SpringBoot DB 系列】Redis 高级特性之 HyperLoglog
hyperloglog 算法,利用非常少的空间,实现比较大的数据量级统计;比如我们前面在介绍 bitmap 的过程中,说到了日活的统计,当数据量达到百万时,最佳的存储方式是 hyperloglog,本文将介绍一下 hyperloglog 的基本原理,以及 redis 中的使用姿势
325 0