Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ServiceStack.Redis 使用教程

ServiceStack.Redis 使用教程

作者头像
张善友
发布于 2018-01-19 08:36:46
发布于 2018-01-19 08:36:46
1.5K0
举报
文章被收录于专栏:张善友的专栏张善友的专栏

环境准备

Windows上运行Redis服务器作开发和测试是很好的,但是在运营环境还是Linux版本靠谱,下面我们就先解压Redis到一个目录下:

运行redis-server.exe 看到如下Windows控制台:

上面我们可以看到Redis运行的端口是6372

我们先玩一下Redis的客户端控制台,在相同目录下运行redis-cli.exe会弹出另一个控制台程序,可以参考Try Redis tutorial开始你的交互之旅。

输入命令 set car.make “Ford” 添加了一个car.make为Key,Value是Ford的数据进入Redis,输入命令get car.make就可以取回Ford

下面我们进入正题,讲主角ServiceStack.Redis :

首先创建一个控制台程序,然后解压缩ServiceStack.Redis-v3.00.zip ,然后添加下面的四个引用

  • ServiceStack.Common
  • ServiceStack.Interfaces
  • ServiceStack.Redis
  • ServiceStack.Text

我们下面来写些代码,创建一个Car类并存储几个实例到Redis,然后让一个对象5秒后过期,等待6秒钟后输出Car的实例数

代码语言:js
AI代码解释
复制
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using ServiceStack.Redis; 
using System.Threading;
namespace RedisTutorial 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            var redisClient = new RedisClient("localhost");
            using (var cars = redisClient.GetTypedClient<Car>()) 
            { 
                if (cars.GetAll().Count > 0) 
                    cars.DeleteAll();
                var dansFord = new Car 
                { 
                    Id = cars.GetNextSequence(), 
                    Title = "Dan's Ford", 
                    Make = new Make { Name = "Ford" }, 
                    Model = new Model { Name = "Fiesta" } 
                }; 
                var beccisFord = new Car 
                { 
                    Id = cars.GetNextSequence(), 
                    Title = "Becci's Ford", 
                    Make = new Make { Name = "Ford" }, 
                    Model = new Model { Name = "Focus" } 
                }; 
                var vauxhallAstra = new Car 
                { 
                    Id = cars.GetNextSequence(), 
                    Title = "Dans Vauxhall Astra", 
                    Make = new Make { Name = "Vauxhall" }, 
                    Model = new Model { Name = "Asta" } 
                }; 
                var vauxhallNova = new Car 
                { 
                    Id = cars.GetNextSequence(), 
                    Title = "Dans Vauxhall Nova", 
                    Make = new Make { Name = "Vauxhall" }, 
                    Model = new Model { Name = "Nova" } 
                };
                var carsToStore = new List<Car> { dansFord, beccisFord, vauxhallAstra, vauxhallNova }; 
                cars.StoreAll(carsToStore);
                Console.WriteLine("Redis Has-> " + cars.GetAll().Count + " cars");
                cars.ExpireAt(vauxhallAstra.Id, DateTime.Now.AddSeconds(5)); //Expire Vauxhall Astra in 5 seconds
                Thread.Sleep(6000); //Wait 6 seconds to prove we can expire our old Astra
                Console.WriteLine("Redis Has-> " + cars.GetAll().Count + " cars");
                //Get Cars out of Redis 
                var carsFromRedis = cars.GetAll().Where(car => car.Make.Name == "Ford");
                foreach (var car in carsFromRedis) 
                { 
                    Console.WriteLine("Redis Has a ->" + car.Title); 
                }
            } 
            Console.ReadLine(); 
        } 
    }
    public class Car 
    { 
        public long Id { get; set; } 
        public string Title { get; set; } 
        public string Description { get; set; } 
        public Make Make { get; set; } 
        public Model Model { get; set; } 
    }
    public class Make 
    { 
        public int Id { get; set; } 
        public string Name { get; set; } 
    }
    public class Model 
    { 
        public int Id { get; set; } 
        public Make Make { get; set; } 
        public string Name { get; set; } 
    }
}

例子代码下载:RedisTutorial.zip

ServiceStack.Redis的问题与修正

性能测试:Redis千万级的数据量的性能测试

几点建议,让Redis在你的系统中发挥更大作用

Redis

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-11-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C#通过邮箱验证来找回密码
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.6K0
发送邮件程序(Csharp2005)
我觉得懂得编写发送邮件客服端丰常重要.这可以把它嵌入到你的软件里加强与用户的沟通与可以收集程运行的错误信息.以与我编写一小的发送邮件客服端来与在家交流. 程序如下:
Java架构师必看
2021/03/22
5920
发送邮件程序(Csharp2005)
VB.NET 发送QQ邮件,可用于发送验证码和批量文件,通知信息
首先打开邮箱的POP3/IMAP/SMTP,获取邮箱授权码,具体操作如下:
办公魔盒
2019/08/28
1.6K0
VB.NET 发送QQ邮件,可用于发送验证码和批量文件,通知信息
C#生成图形验证码
我弄的这个图形验证码是通过伪随机验证码+label控件+背景图来实现的,我觉得我这个图形验证码写得比较low,用代码实现起来也特别简单。
喜欢ctrl的cxk
2019/11/07
1.6K0
C# WinForm捕获全局异常
static class Program      {          /// <summary>          /// 应用程序的主入口点。          /// </summary>          [STAThread]          static void Main()          {              try              {                  //设置应用程序处理异常方式:ThreadException处理             
跟着阿笨一起玩NET
2018/09/18
2.4K0
C# WinForm捕获全局异常
Python3 SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
织幻妖
2021/01/20
1K0
Python3 SMTP发送邮件
C#软件注册与注册机
https://www.cnblogs.com/hanzhaoxin/archive/2013/01/04/2844191.html
zls365
2021/03/16
7850
Python发送邮件
Python发邮件需要有SMTP服务,可以在本地搭建SMTP服务,也可以使用第三方的SMTP服务(比如网易邮箱或QQ邮箱)。 这里我使用了网易126邮箱来发邮件。
海天一树
2018/07/25
1.5K0
Python发送邮件
基于smtp协议的邮件系统(自己写的)
最近几天做好了应用【贱泰迪】,其中有个意见反馈,发送邮件, 我知道可以调用系统发送邮件,但这种方法有个弊端,就是您的手机必须安装Mail的客户端, 因此我想不用系统发送邮件这种方式,能不能向任意邮
xiangzhihong
2018/01/26
2.7K0
QQ项目四之注册界面
用户9184480
2024/12/13
1230
Python实现自动发送邮件(详解)
这点很关键,别忘了去开启SMTP, 别忘了去开启SMTP,否则邮件是无法发送成功的 。然后你还需要点击下面生成授权码,这个授权码才是使用Python发送邮件时的真正密码。
全栈程序员站长
2022/11/17
1.1K0
Python实现自动发送邮件(详解)
【Java专题_03】使用springboot发送邮件
1、以我自己的项目工程图为例(随便创建 一个sprinboot项目即可) 在pox.xml中添加依赖
夏之以寒
2024/03/04
1300
【Java专题_03】使用springboot发送邮件
C# 常用操作类之五(统一消息提示类)
/// <summary>     /// MessageUtil 的摘要说明。     /// </summary>     public class MessageUtil     {         /// <summary>         /// 显示一般的提示信息         /// </summary>         /// <param name="message">提示信息</param>         public static DialogResult ShowTips(str
跟着阿笨一起玩NET
2018/09/18
7530
C#项目实战练习:做自己的QQ
  C#程序设计实战练习项目,做一个类似于QQ的软件,程序参考明日科技出版的《C#项目开发入门实战》第一章:Q友,做自己的QQ。
小孙同学
2022/01/17
7.6K0
C#项目实战练习:做自己的QQ
Python发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
青阳
2021/11/26
9010
Python定时发送邮件
首先我们先申请一个邮箱的授权码用于邮箱身份验证。然后编写Python程序,利用SMTP发送邮件。最后利用Windows任务计划程序实现每天定时执行程序。
一只大鸽子
2022/12/06
9240
Python定时发送邮件
Python下的邮件发送示例
注:邮件内容是使用HTML构建的,如果熟悉这方面,可以使用HTML的方式构建自己想要的内容结构
no怕不了木
2023/12/19
2220
JavaWeb实现qq邮箱验证(一)[通俗易懂]
JavaWeb实现qq邮箱验证(二):https://blog.csdn.net/BlackPlus28/article/details/85114001
全栈程序员站长
2022/07/01
2.4K1
JavaWeb实现qq邮箱验证(一)[通俗易懂]
python笔记3-发送邮件(smtplib)
前言 本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了。 以下代码兼容python2和python3,
上海-悠悠
2018/04/08
1.1K0
python笔记3-发送邮件(smtplib)
Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发
邮件营销,一个昔日辉煌,如今没落的广告营销方式,曾经的恶意广告邮件群发,到现在还存留着的大站协议群发,可能还是有不少人能够做到正常群发邮件,但大概率很多人都不会点开邮件查看邮件内容吧,除非是很许可的,重要的邮件通知,比如面试相关邮件。
二爷
2020/09/23
3.6K0
Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发
相关推荐
C#通过邮箱验证来找回密码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档