访问单个服务器

有时候需要为单个服务器指定特定的命令 。

IServer server = redis.GetServer("localhost", 6379);

GetServer方法会接收一个EndPoint类或者一个唯一标识一台服务器的键值对。GetServer 方法返回一个IServer对象。 方法也可以是异步的只需要传入一个async-state

可以使用如下方法获取所有可用的终结点:
EndPoint[] endpoints = redis.GetEndPoints();

使用IServer可以使用所有的shell命令,比如:

DateTime lastSave = server.LastSave();
ClientInfo[] clients = server.ClientList();

如果报错在连接字符串后加 ,allowAdmin=true;

同步 、异步、即发即弃

这是StackExchange.Redis的三种主要使用机制:
同步-在方法返回之前阻塞调用方(虽然会阻塞调用方,但绝不会阻塞其他线程 ,StackExchange.Redis中的关键点是共享调用者之间的连接)

异步-在未来的某个时间点操作完成,会立刻返回一个 Task 或者 Task<T> : 之后可以调用
.Wait() 阻塞当前线程,直到处理完成。
ContinueWith 添加一个回调函数
使用 await 这是一个高级特性简化了操作

即发即弃-

在上面的示例中已经演示同步调用的方法 。

异步调用:
string value = "abcdefg";
await db.StringSetAsync("mykey", value);
...
string value = await db.StringGetAsync("mykey");
Console.WriteLine(value); // writes: "abcdefg"

即发即弃:通过配置 CommandFlags 来实现即发即弃功能,在该实例中该方法会立即返回,如果是string则返回null 如果是int则返回0.这个操作将会继续在后台运行,一个典型的用法页面计数器的实现:
db.StringIncrement(pageKey, flags: CommandFlags.FireAndForget);

StackExchange.Redis 使用-同步 异步 即发即弃 (三)的更多相关文章

  1. StackExchange.Redis 使用

    StackExchange.Redis 使用 - 事件(五) 摘要: ConnectionMultiplexer 可以注册如下事件ConfigurationChanged- 配置更改时Configur ...

  2. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步

    深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...

  3. StackExchange.Redis 异步超时解决方案

    Timeout awaiting response (outbound=0KiB, inbound=45417KiB, 5891ms elapsed, timeout is 5000ms), comm ...

  4. StackExchange.Redis 访问封装类

    最近需要在C#中使用Redis,在Redis的官网找到了ServiceStack.Redis,最后在测试的时候发现这是个坑,4.0已上已经收费,后面只好找到3系列的最终版本,最后测试发现还是有BUG或 ...

  5. StackExchange.Redis学习笔记(一) Redis的使用初探

    Redis Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化. 与其它键值数据存储相比,Redis有一组相对丰富的数据类型. Redis可以将数据复制到任意数量的从机中 Redis的安装 官 ...

  6. redis的安装、启动、主从配置,以及.Net下StackExchange.Redis的使用

    开门见山,Linux下配个环境真是苦逼死了,这里记录一下,囧 一.环境 服务端:Ubuntu16.04 LTS(虚拟机,redis官方没有window发布版本,而且在Linux下运行更稳定) 客户端: ...

  7. StackExchange.Redis 使用资料

    在StackExchange.Redis中最重要的对象是ConnectionMultiplexer类, 它存在于StackExchange.redis命名空间中.这个类隐藏了Redis服务的操作细节, ...

  8. StackExchange.Redis 系列 1:基础使用

    本系列博文已经全部完成,完整系列请访问:https://blog.zhuliang.ltd/tags/StackExchange-Redis%E7%B3%BB%E5%88%97/ 本文转自:https ...

  9. Redis 详解 (一) StackExchange.Redis Client

    这期我们来看StackExchange.Redis,这是redis 的.net客户端之一.Redis是一个开源的内存数据存储,可以用来做数据库,缓存或者消息代理服务.目前有不少人在使用ServiceS ...

随机推荐

  1. mongoDB 查询附近的人的语句

    mongoDB 自带LBS查询附近的人 {"location":{ $nearSphere: { $geometry: { type : "Point", co ...

  2. start_kernel——boot_init_stack_canary

    /* * Initialize the stackprotector canary value. * * NOTE: this must only be called from functions t ...

  3. JS CSS 网页 简单 右侧 悬浮

    <!--右侧效果--> <script> $().ready(function() { $(".orm").hover(function() { $(thi ...

  4. 自定义ComboBox,简简单单实现

    private void Button_Click(object sender, RoutedEventArgs e) { Popup1.PlacementTarget = TesTextBox; P ...

  5. Leet code —Jump Game

    问题叙述性说明: Given an array of non-negative integers, you are initially positioned at the first index of ...

  6. Android源代码同步脚本(增加设置线程参数)

    #!/bin/sh #Filename: repo_sync.sh count= ret= ] do #输入参数1,用作同步的线程数 #如果什么参数都不输入,默认线程为4 #usage: ./repo ...

  7. 【小白的java成长系列】——顶级类Object源代码分析

    首先来说一下api文档使用,api这个词对有一定开发经验的java编程人员来说是非常喜爱的~ java当然也提供了api开发文档,下载地址:http://www.oracle.com/technetw ...

  8. ADO.NET连接方式

    使用Command.DataReader和DataSet两种方法实现数据绑定 方法1:使用Command和DataReader SqlConnection con = new SqlConnectio ...

  9. linux、hdfs、hive、hbase经常使用的命令

    linux经常使用命令 pwd 查看当前工作文件夹的绝对路径 cat input.txt 查看input.txt文件的内容 ls 显示当前文件夹下全部的文件及子文件夹 rm recommender-d ...

  10. IOS本地化应用

    BK项目已完成7788,在项目的后期需要被翻译成多国语言版.为了适应全球多个国家使用多个存储. 应用本地化是分别对字符串.图片和 xib 或 storyboard 文件本地化,而传统的做法是对 xib ...