sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

https://www.cnblogs.com/wangjifeng23/p/9105165.html

C#操作redis
        </h1>
        <div class="clear"></div>
        <div class="postBody">
            <div id="cnblogs_post_body" class="blogpost-body blogpost-body-html">

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)
{

    }

    </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> ServiceStack.Redis.RedisClient client = <span style="color: rgba(0, 0, 255, 1)">new</span> ServiceStack.Redis.RedisClient(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">127.0.0.1</span><span style="color: rgba(128, 0, 0, 1)">"</span>, <span style="color: rgba(128, 0, 128, 1)">6379</span><span style="color: rgba(0, 0, 0, 1)">);

    </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span> login(<span style="color: rgba(0, 0, 255, 1)">object</span><span style="color: rgba(0, 0, 0, 1)"> sender, EventArgs e)
    {
        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">读取</span>
        <span style="color: rgba(0, 0, 255, 1)">string</span> name = client.Get&lt;<span style="color: rgba(0, 0, 255, 1)">string</span>&gt;(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);
        </span><span style="color: rgba(0, 0, 255, 1)">string</span> pwd = client.Get&lt;<span style="color: rgba(0, 0, 255, 1)">string</span>&gt;(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">password</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">);

        </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">存储</span>
        client.Set&lt;<span style="color: rgba(0, 0, 255, 1)">string</span>&gt;(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">, username.Value);
        client.Set</span>&lt;<span style="color: rgba(0, 0, 255, 1)">string</span>&gt;(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">password1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">, userpwd.Value);
    }
}

}

复制代码

总结:

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

转载请注明出处

 

原创文章,转载请注明出处。
分类: asp.net
<div id="blog_post_info">
3
0
<div class="clear"></div>
<div id="post_next_prev">

<a href="https://www.cnblogs.com/wangjifeng23/p/8603507.html" class="p_n_p_prefix">« </a> 上一篇:    <a href="https://www.cnblogs.com/wangjifeng23/p/8603507.html" title="发布于 2018-03-19 17:30">H5页面基于接口实现数据交互</a>
<br>
<a href="https://www.cnblogs.com/wangjifeng23/p/9626119.html" class="p_n_p_prefix">» </a> 下一篇:    <a href="https://www.cnblogs.com/wangjifeng23/p/9626119.html" title="发布于 2018-09-11 10:33">C#中缓存的使用</a>
posted @ 2018-05-29 15:10  王继峰  阅读(12860)  评论(6编辑  收藏
posted on 2021-04-07 21:21  sunny123456  阅读(149)  评论(0编辑  收藏  举报