C#操作redis

2018-06-22 07:58:07来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Redis 是一个非关系型高性能的key-value数据库。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

 

redis提供五种数据类型:string,hash,list,set及zset(sorted set)。

 

好了,话不多说,先安装redis吧。我这里提供的版本是64位的3.2.1.00 https://files.cnblogs.com/files/wangjifeng23/Redis-x64-3.2.100.zip ,其余版本可前往官网进行下载 http://download.redis.io/releases/ 。

 

下载好之后,新建文件夹,将文件解压。

解压完之后,开始进行redis安装。

  1.键入cmd

  2.指向redis安装路径   f:  --> cd redis

       3.redis安装指令  redis-server redis.windows.conf,出现以下图标即安装成功

 

打开redis客户端工具(redis-cli.exe)

使用set get设置获取值,如下所示即使用成功

 

好了,为了使用方便,我们可以把redis部署到服务上面自启动,然后使用第三方客户端软件RedisDesktopManager(下载链接: https://pan.baidu.com/s/1DAWFwlZQK0AJphOQEHQaXA 密码: jr5r)进行管理,让开发更加便捷。

如上所示使用cmd键入命令: redis-server --service-install redis.windows.conf

 

打开客户端,创建连接,输入localhost(本机服务),连接前确保redis服务已开启,端口为6379(主服务器)

 

如下图所示证明我们已经连接成功啦,左边就是我存储的4个键值对数据。

 

 

好了,接下来我们要在代码里实现对他的存储以及获取。

 使用NuGet安装ServiceStack.Redis,这是微软提供已经封装好的对redis操作类。包含4个dll

 

连接redis服务器,读取以及存储

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace redis
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public static ServiceStack.Redis.RedisClient client = new ServiceStack.Redis.RedisClient("127.0.0.1", 6379);

        public void login(object sender, EventArgs e)
        {
            //读取
            string name = client.Get<string>("name");
            string pwd = client.Get<string>("password");

            //存储
            client.Set<string>("name1", username.Value);
            client.Set<string>("password1", userpwd.Value);
        }
    }
}

总结:

1 、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
2 、Redis支持数据的备份,即master-slave模式的数据备份。
3 、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
4、Redis可以实现主从复制,实现故障恢复。
5、Redis的Sharding技术: 很容易将数据分布到多个Redis实例中

转载请注明出处

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:键&#39;attachdbfilename&#39;的值无效。

下一篇:knockout + easyui = koeasyui