• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#下的Redis学习

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Redis作为世界上最快的分布式NoSQL的数据存储,在高性能构架中离不开他的身影

 

Centos下安装Redis

wget http://download.redis.io/redis-stable.tar.gz

tar xvzf redis-stable.tar.gz

cd redis-stable

make

 

配置Redis环境:

在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。

方便期间用cp命令复制到usr目录下运行。

cp redis-server /usr/local/bin/

cp redis-cli /usr/local/bin/

然后新建目录,存放配置文件

mkdir /etc/redis

mkdir /var/redis

mkdir /var/redis/log

mkdir /var/redis/run

mkdir /var/redis/6379

 

在redis解压根目录中找到配置文件模板,复制到如下位置。

cp redis.conf /etc/redis/6379.conf

通过vim命令修改

daemonize yes

pidfile /var/redis/run/redis_6379.pid

logfile /var/redis/log/redis_6379.log

dir /var/redis/6379

最后运行redis:
$ redis-server /etc/redis/6379.conf

 

如果没有配置日志文件路径,启动Redis后的日志信息将输出到控制台,否则写入日志文件

 

用PM命令安装ServiceStack的Redis驱动

PM> Install-Package ServiceStack.Redis
正在尝试收集与目标为“.NETFramework,Version=v4.5.2”的项目“RedisApp”有关的包“ServiceStack.Redis.4.0.60”的依赖项信息
正在尝试解析程序包“ServiceStack.Redis.4.0.60”的依赖项,DependencyBehavior 为“Lowest”
正在解析操作以安装程序包“ServiceStack.Redis.4.0.60”
已解析操作以安装程序包“ServiceStack.Redis.4.0.60”
  GET https://www.nuget.org/api/v2/package/ServiceStack.Interfaces/4.0.60
  OK https://www.nuget.org/api/v2/package/ServiceStack.Interfaces/4.0.60 2943ms
正在安装 ServiceStack.Interfaces 4.0.60。
正在将程序包“ServiceStack.Interfaces.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Interfaces.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Interfaces.4.0.60”添加到“packages.config”
已将“ServiceStack.Interfaces 4.0.60”成功安装到 RedisApp
  GET https://www.nuget.org/api/v2/package/ServiceStack.Text/4.0.60
  OK https://www.nuget.org/api/v2/package/ServiceStack.Text/4.0.60 1845ms
正在安装 ServiceStack.Text 4.0.60。
正在将程序包“ServiceStack.Text.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Text.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Text.4.0.60”添加到“packages.config”
已将“ServiceStack.Text 4.0.60”成功安装到 RedisApp
  GET https://www.nuget.org/api/v2/package/ServiceStack.Common/4.0.60
  OK https://www.nuget.org/api/v2/package/ServiceStack.Common/4.0.60 1862ms
正在安装 ServiceStack.Common 4.0.60。
正在将程序包“ServiceStack.Common.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Common.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Common.4.0.60”添加到“packages.config”
已将“ServiceStack.Common 4.0.60”成功安装到 RedisApp
  GET https://www.nuget.org/api/v2/package/ServiceStack.Redis/4.0.60
  OK https://www.nuget.org/api/v2/package/ServiceStack.Redis/4.0.60 1968ms
正在安装 ServiceStack.Redis 4.0.60。
正在将程序包“ServiceStack.Redis.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Redis.4.0.60”添加到文件夹“F:\temp\20160704\RedisApp\packages”
已将程序包“ServiceStack.Redis.4.0.60”添加到“packages.config”
已将“ServiceStack.Redis 4.0.60”成功安装到 RedisApp
PM> 

 

简单的c#访问代码:

using System;
using ServiceStack.Redis;
using ServiceStack.Redis.Support;

namespace RedisApp
{
    class Program
    {
        static void Main(string[] args)
        {

            string val = "https://github.com/MSOpenTech/redis/archive/3.0.zip";
 
            Event evt = new Event
            {
                Id = 1,
                Title = "深坪山2016字第496号",
                CreateTime = DateTime.Now,
                Address = "坪山新区汤坑社区汤坑路107号左侧",
                EvtGuid = Guid.NewGuid(),
                Desc = "乱堆物堆料"
            };

            RedisClient client = new RedisClient("localhost");
            client.SetValue("key1", val);

            Console.WriteLine(client.GetValue("key1"));

            client.Set<Event>("evtKey", evt);

            evt = client.Get<Event>("evtKey");


            var ser = new ObjectSerializer();
            byte[] evtBytes = ser.Serialize(evt);

            client.Set<byte[]>("evtKeyByte", evtBytes);

            evtBytes = client.Get<byte[]>("evtKeyByte");

            evt = ser.Deserialize(evtBytes) as Event;


        }
    }

    [Serializable]
    class Event
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public DateTime CreateTime { get; set; }
        public string Address { get; set; }
        public string Desc { get; set; }
        public Guid EvtGuid { get; set; }
    }


}

查看服务器上所有键值

 

根据键值获取值:

获取值类型:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#中带参数sql查询发布时间:2022-07-13
下一篇:
C#添加日志log4net发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap