博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ServiceStack.Redis 使用教程
阅读量:5820 次
发布时间:2019-06-18

本文共 2526 字,大约阅读时间需要 8 分钟。

环境准备

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

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

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

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

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

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

首先创建一个控制台程序,然后解压缩 ,然后添加下面的四个引用

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

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

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; } 
    }

}

 

例子代码下载:

转载地址:http://plwdx.baihongyu.com/

你可能感兴趣的文章
我有一个idea,但是没有钱,又没技术怎么办?
查看>>
benchmark性能测试工具
查看>>
redis安装及php扩展
查看>>
在Linux中批量创建和修改文件或目录
查看>>
道道道
查看>>
java的split分隔需要特殊转义收集
查看>>
js 限制输入字符的长度
查看>>
实例学习进程线程编程
查看>>
七种信号表明,你在浪费自己的才华
查看>>
SSH Secure Shell Client中文乱码的解决
查看>>
How the Blockchain is Redefining Trust
查看>>
Nginx 禁止IP访问
查看>>
BT5 r3安装vmware tools遇到的问题
查看>>
百度星火原创计划?别抱幻想了
查看>>
我的友情链接
查看>>
Linux 进程
查看>>
Linux--(1)常用命令
查看>>
一段话系列-CAP定理是怎样的一种存在
查看>>
loadrunner--27987
查看>>
关于Shell数组的几点说明
查看>>