c# redis 操作类库推荐:StackExchange.Redis.Extensions
StackExchange是一个优秀的c# redis客户端,但是存在操作略为繁琐的弊端,为了简化操作,使用 StackExchange.Redis.Extensions成为了一个非常值得推荐的选择。它能让使用StackExchange变得相当简单。
StackExchange.Redis.Extensions github地址:https://github.com/imperugo/StackExchange.Redis.Extensions
第一步用nuget安装相关包:
PM> Install-Package StackExchange.Redis.Extensions.Newtonsoft
完成后即可使用。
以下将用一个多线程修改某一个值的控制台案例来作为演示。
using System;
using System.Threading;
using StackExchange.Redis.Extensions.Core;
using StackExchange.Redis.Extensions.Core.Configuration;
using StackExchange.Redis.Extensions.Newtonsoft; namespace Redis
{
class Program
{
public static void Ins()
{
Thread thread = new Thread(() =>
{
for (int i = ; i < ; i++)
{
client.Database.StringIncrement("key");
}
});
thread.Start();
} private static StackExchangeRedisCacheClient client; static void Main(string[] args)
{
var redisConfiguration = new RedisConfiguration() //配置
{
Hosts = new RedisHost[]
{
new RedisHost(){Host = "127.0.0.1",Port = }
}
}; client = new StackExchangeRedisCacheClient(new NewtonsoftSerializer(),redisConfiguration );
client.Add("key", ); for (int j = ; j < ; j++)
{
Ins();
} Thread.Sleep(); int i = client.Get<int>("key");
Console.WriteLine(i);
Console.ReadKey();
}
} }
值得注意的是,如果要把相关配置写进app.config或者web.config,需要另外再安装一个包:StackExchange.Redis.Extensions.LegacyConfiguration
Install-Package StackExchange.Redis.Extensions.LegacyConfiguration
然后配置文件就可以写相关配置了:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- 注意,configSections必须是configuration节点的第一个子元素-->
<configSections>
<section name="redisCacheClient" type="StackExchange.Redis.Extensions.LegacyConfiguration.RedisCachingSectionHandler, StackExchange.Redis.Extensions.LegacyConfiguration" />
</configSections> <redisCacheClient allowAdmin="true" ssl="false" connectTimeout="3000" database="24">
<serverEnumerationStrategy mode="Single" targetRole="PreferSlave" unreachableServerAction="IgnoreIfOtherAvailable" />
<hosts>
<add host="127.0.0.1" cachePort="6379" />
</hosts>
</redisCacheClient> </configuration>
然后在代码里用RedisCachingSectionHandler.GetConfig()获得配置:
var config = RedisCachingSectionHandler.GetConfig(); client = new StackExchangeRedisCacheClient(new NewtonsoftSerializer(),config );
c# redis 操作类库推荐:StackExchange.Redis.Extensions的更多相关文章
- c# redis 利用锁(StackExchange.Redis LockTake)来保证数据在高并发情况下的正确性
之前有写过一篇介绍c#操作redis的文章 http://www.cnblogs.com/axel10/p/8459434.html ,这篇文章中的案例使用了StringIncrement来实现了高并 ...
- RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
本文版权归博客园和作者本人吴双共同所有,转载请注明本Redis系列分享地址.http://www.cnblogs.com/tdws/tag/NoSql/ Redis Pub/Sub模式 基本介绍 Re ...
- Redis 详解 (一) StackExchange.Redis Client
这期我们来看StackExchange.Redis,这是redis 的.net客户端之一.Redis是一个开源的内存数据存储,可以用来做数据库,缓存或者消息代理服务.目前有不少人在使用ServiceS ...
- Redis项目实战 .net StackExchange.Redis
StackExchange.Redis 免费.支持异步.用的最多 常用对象 源码地址:https://github.com/StackExchange/StackExchange.Redis 用 ...
- .NET平台下Redis使用(二)【StackExchange.Redis学习】
Program.cs内容: using Newtonsoft.Json; using StackExchange.Redis; using System; using System.Data; usi ...
- Redis报错: StackExchange.Redis.RedisServerException: Endpoint 39.105.22.111:7200 serving hashslot 12448 is not reachable at this point of time.
emmmm……要下班了,简单记录一下. 如果是127.0.0.1:7200报这个错,请移步 https://blog.csdn.net/foreverhot1019/article/details/7 ...
- 负载均衡@StackExchange.Redis实现Session外置--纯干货喂饱你
Redis和StackExchange.Redis redis有多个数据库1.redis 中的每一个数据库,都由一个 redisDb 的结构存储.其中,redisDb.id 存储着 redis 数据库 ...
- c#使用 StackExchange.Redis 封装 RedisHelper
公司一直在用.net自带的缓存,大家都知道.net自带缓存的缺点,就不多说了,不知道的可以查一查,领导最近在说分布式缓存,我们选的是redis,领导让我不忙的时候封装一下,搜索了两天,选了选第三方的插 ...
- 使用StackExchange.Redis客户端进行Redis访问出现的Timeout异常排查
问题产生 这两天业务系统在redis的使用过程中,当并行客户端数量达到200+之后,产生了大量timeout异常,典型的异常信息如下: Timeout performing HVALS Parser2 ...
随机推荐
- bcache的使用
一.前提:内核中需要配置bcache模块 1.1 检查 - 是否存在于内核中:检查/sys/fs/bcache目录是否存在,没有说明内核中没有bcache - 是否以内核模块方式存在:检查/lib/m ...
- Yii2框架RBAC(Role-Based Access Control)的使用
1.在项目的common/config/main.php文件的components中添加如下代码: 'authManager' => [ 'class' => 'yii\rbac ...
- 解决maven项目Cannot change version of project facet Dynamic web module to 3.0
问题描述 用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servl ...
- C编程之 一个容易忽视但是十分严重的小错误
while(...) { ...if(a=b) continue; } 调试时就一直执行continue.一直找不到原因,后面才发现是少一个"=": 还有一次就是也是在if中,if ...
- HDU - 1213 dfs求联通块or并查集
思路:给定一个无向图,判断有几个联通块. AC代码 #include <cstdio> #include <cmath> #include <algorithm> ...
- java 集合框架(一)概述
一.概述 Java Collection Framework (JCF) 提供给我们一系列的类和接口,方便开发者处理集合对象. 在Java 2之前,Java是没有完整的集合框架的.它只有一些简单的可以 ...
- 使用阿里云主机离线部署CDH步骤详解
一.Linux文件系统准备 1. 拍摄快照 登录阿里云控制台,拍摄快照,注意有几个关键点尽量拍摄快照,系统初始状态.CM环境准备完成.CM安装完成.CDH安装完成. 2. 挂载设备 三个主机都执行. ...
- android自定义View的绘制原理
每天我们都会使用很多的应用程序,尽管他们有不同的约定,但大多数应用的设计是非常相似的.这就是为什么许多客户要求使用一些其他应用程序没有的设计,使得应用程序显得独特和不同. 如果功能布局要求非常定制化, ...
- spring schedule定时任务(一):注解的方式
我所知道的java定时任务的几种常用方式: 1.spring schedule注解的方式: 2.spring schedule配置文件的方式: 3.java类继承TimerTask: 第一种方式的实现 ...
- 运行项目Tomcat报错
1.具体报错如下: Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the serve ...