[Open Source] .NET 基于StackExchange.Redis的扩展
目录
简介
主从复制
备份与恢复
- API
- AddOrUpdate
- GetOrAdd
- DeleteByPattern
- SearchKeys
- TransExcute
- Subscribe/Publish
- Todo
- Sentinel
- .NET Core
- Configuration
- Log
- Async
简介
- Redis.Extension GitHub(欢迎Fork Star)
Redis.Extension nuget(Install-Package Redis.Extension)
- Redis 开源的分布式NoSQL,c语言开发,存储结构:key-value
- 持久化(容灾)
- snapshot(快照)
- Redis默认持久化方式,每次保存RDB的时候,fork()出1个子进程进行持久化
- dump.rdb
- 配置n秒超过m个key 开始快照
- 性能高,丢失数据比较多
- Append-only file(aof)
- 新命令到达则fsync一次,文件足够大的时候,rewrite一次。
- appendfilename "appendonly.aof" 设置存储文件
- appendfsync 设置频率
- auto-aof-rewrite 设置自动重写
- 性能稍慢,丢失数据非常少
- snapshot(快照)
5种数据类型:string,list(链表),hash(哈希),set(集合),zset(排序集合)
安装
- Windows
- 管理多个服务实例
- redis-server.exe --service-install redis.windows-service --service-name Redis --port 6369
- sc delete Redis
- 直接启动
- redis-server.exe redis.windows.conf
- 管理多个服务实例
- Linux
- 源码包
- docker
- Mac
- brew
- docker
主从复制
- 过程
- 当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。
- 无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。
- 后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。
- 接着master就会把缓存的命令转发给slave。
- 而且后续master收到的写命令都会通过开始建立的连接发送给slave。
- 从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。
- 当master和slave的连接断开时slave可以自动重新建立连接。
- 如果master同时收到多个slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
- 配置
- slaveof 127.0.0.1 6379
API
- 具体的API调用可以 可以直接参考ManagerTest。
- AddOrUpdate 支持指定具体时间点 缓存失效
- AddOrUpdate 支持指定具体时间点 缓存失效
- GetOrAdd 支持检测缓存 再读库操作
- DeleteByPattern 支持根据key模糊删除
- SearchKeys 支持查询Keys
- TransExcute 支持Redis事务执行
- Subscribe 支持快速订阅消息
- Publish 支持快速发布消息
备份与恢复
appendfilename "appendonly.aof"
snapshot "dump.rdb"
使用
- string: set | get
- hash: hmset | hgetall
- list: lpush | lrange
- set: sadd | smembers
- zset: zadd | zrange
- save bgsave
- subscribe publish
- keys *
- info
[Open Source] .NET 基于StackExchange.Redis的扩展的更多相关文章
- 在.Net下使用redis基于StackExchange.Redis
研究了下redis在.net下的使用,因为以前在java上用redis用的是jedis操作,在.net不是很熟悉,在网站上也看了一部分的.net下redis的使用,大部分都是ServiceStack. ...
- .net core 使用redis 基于 StackExchange.Redis
一.添加引用包 StackExchange.Redis Microsoft.Extensions.Configuration 二.修改配置文件 appsettings.json { " ...
- 扩展 StackExchange.Redis 支持实体
一.StackExchange.Redis StackExchange.Redis是由Stack Overflow开发的C#语言Redis客户端,使用广泛,本文针对 StackExchange.Red ...
- redis的安装、启动、主从配置,以及.Net下StackExchange.Redis的使用
开门见山,Linux下配个环境真是苦逼死了,这里记录一下,囧 一.环境 服务端:Ubuntu16.04 LTS(虚拟机,redis官方没有window发布版本,而且在Linux下运行更稳定) 客户端: ...
- 在.Net下使用redis基于StackExchange.Redis--登录功能
研究了下redis在.net下的使用,因为以前在java上用redis用的是jedis操作,在.net不是很熟悉,在网站上也看了一部分的.net下redis的使用,大部分都是ServiceStack. ...
- Redis集群~StackExchange.redis连接Twemproxy代理服务器
回到目录 本文是Redis集群系列的一篇文章,主要介绍使用StackExchange.Redis进行Twemproxy(文中简称TW)代理服务的连接过程,事务上,对于TW来说,我们需要理解一下它的物理 ...
- [开源精品] .NET Redis Client 又多了一个选择,还在被 StackExchange.Redis Timeout 问题困扰吗?
前言 .NET 下 RedisClient SDK 选择挺多,国人常用免费的有 StackExchange.Redis/CSRedis/Newlife.Redis,收费的有 ServiceStack. ...
- Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager
Redis缓存服务器是一款key/value数据库,读110000次/s,写81000次/s,因为是内存操作所以速度飞快,常见用法是存用户token.短信验证码等 官网显示Redis本身并没有Wind ...
- Redis 详解 (一) StackExchange.Redis Client
这期我们来看StackExchange.Redis,这是redis 的.net客户端之一.Redis是一个开源的内存数据存储,可以用来做数据库,缓存或者消息代理服务.目前有不少人在使用ServiceS ...
随机推荐
- java学习——平台的安装与部署
Java 平台安装与部署 jre,jdk安装与部署 1)jre,jdk安装过程(略) 2)部署过程 新建(JAVA_HOME) 变量名:JAVA_HOME 变量值:E:\Program Files ( ...
- a标签实现文件下载
如果想通过纯前端技术实现文件下载,直接把a标签的href属性设置为文件路径即可,如下: <a href="https://cdn.shopify.com/s/files/1/1545/ ...
- nodeJS实战:自定义模块与引入,不同模块的函数传递及回调处理,exports与module.exports(基于nodejs6.2.0)
前言:本文基于上一篇文章中的源代码进行改写,地址:http://blog.csdn.net/eguid_1/article/details/52182386 注意:为什么不用module.export ...
- 禅道---Bug管理模块
禅道官网:http://www.cnezsoft.com/ 简介: 开源免费的项目管理软件.集产品管理.项目管理.测试管理一体以及事物管理组织管理的功能 使用原因: 开源 方便跟踪管理Bug 使用简单 ...
- JQuery源码阅读记录
新建html文件,在浏览器中打开文件,在控制台输入consoole.log(window);新建html文件,引入JQuery后在浏览器中打开,在控制台同样输入consoole.log(window) ...
- 浅谈卷积神经网络及matlab实现
前言,好久不见,大家有没有想我啊.哈哈.今天我们来随便说说卷积神经网络. 1卷积神经网络的优点 卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积 ...
- angularjs下拉框实现渲染html
angualrjs处于安全的考虑,插值 指令会对相应字符串进行过滤,避免出现html攻击.但是在一些时候,我们需要渲染html,比如实现一个分级的下拉框,代码如下: <body ng-app=& ...
- od的用法
一.功能 查看非文本文档的内容 二.用法 1.语法 od [-A RADIX] [-t TYPE] 文件名 2.选项与参数 -A: 指定偏移量的输出形式 d[size] :利用十进制(decimal) ...
- .net core web api + Autofac + EFCore 个人实践
1.背景 去年时候,写过一篇<Vue2.0 + Element-UI + WebAPI实践:简易个人记账系统>,采用Asp.net Web API + Element-UI.当时主要是为了 ...
- Spring Boot 快速入门(一)
简介 相信很多人都接触spring框架很长时间了,每次搭建spring框架的时候都需要配置好多的jar.xml,做很多繁琐重复的配置,稍微不留神就会出现各种各样的问题,每次调试真的是香菇.蓝瘦啊. ...