zoukankan      html  css  js  c++  java
  • Redis在.NET环境下实践篇(一)

    redis简介

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

    Redis是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

    Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

    Redis是一种高级的key:value存储系统,其中value支持五种数据类型: 1.字符串(strings) 2.字符串列表(lists) 3.字符串集合(sets) 4.有序字符串集合(sorted sets) 5.哈希(hashes)

    目前在使用的项目有新浪微博、Github、StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/

    windows下搭建redis环境

    • 下载redis对应的windows版本

    Redis本身没有提供Windows版本的,并且在Windows上也不太稳定,一般都将其部署到Linux环境下,Redis可以在其官网上下载MSOpenTech中提供了Windows版本;也可以直接百度搜;(附件已包括安装版本和直接操作版本)

    Win版服务端下载地址:https://github.com/ServiceStack/redis-windows

    • 安装redis

    安装程序可以直接默认安装,注意端口设置就行; 如果是下载的ZIP文件,解压后可以存放到某个路径下(比如我D:Program FilesRedis)

    • 启用redis

    启用redis需要使用命令,首先定位到redis路径,按住Shift+右键,点击在此处用命令打开:

    D:Program FilesRedis>redis-server.exe redis.windows.conf

    如果redis.windows.conf这个配置文件中的bind与port的IP和端口已经被占用,则会提示如下信息:

    这时候首先查询该端口的 pid,使用命令 【netstat -ano | findstr 6379】

    根据pid查看该详细的进程名称,使用命令【tasklist | findstr 10628】

    这个时候可以强制删除本程序及其子进程,使用命令 【taskkill -f -t -im redis-server.exe】,也可以修改redis.windows.conf文件中port端口号,都OK

    这个时候redis启动成功了,但是不要关掉本窗口,保持端口不是关闭;当然也可以在windows服务中将redis服务设置为随系统启动。这样就不用开着那个命令窗口了。

    windows下简单使用redis

    重新定位到redis路径,按住Shift+右键,点击在此处用命令打开:

    复制代码
    D:Program FilesRedis>redis-cli.exe -h 127.0.0.1 -p 6379
    
    然后就可以执行set 给key为city赋值:
    
    127.0.0.1:6379> set city Shanghai
    
    通过get可以获取指定key为city的值了。
    
    172.16.147.121:6379> get city
    复制代码

    .NET下简单使用redis

    • 下载ServiceStack.Redis

    和MongoDB一样,在.NET中使用Redis其实也是使用第三方驱动,官网推荐的是使用ServiceStack.Redis (可看附件)。

    ServiceStack.Redis好像已经开始收费,现在可以使用StackExchange.Redis

    • 使用ServiceStack.Redis

    首先解压ServiceStack.Redis并找到以下四个DLL

    然后添加到项目引用,就可以开始简单使用redis了;

    复制代码
    private void button1_Click(object sender, EventArgs e)
    
            {
    
                RedisClient redisClient = new RedisClient("127.0.0.1", 6379);
    
                this.label1.Text = "获取姓名";
    
                this.textBox1.Text = redisClient.Get<string>("city");
    
                this.label2.Text = "获取年龄";
    
                this.textBox2.Text = redisClient.Get<string>("age");
    
                this.label3.Text = "获取性别";
    
                this.textBox3.Text = redisClient.Get<string>("sex");
    
            } 
    复制代码
  • 相关阅读:
    ZOJ-3725 Painting Storages DP
    ZOJ-3720 Magnet Darts 计算几何,概率
    ZOJ-3721 Final Exam Arrangement 贪心
    POJ-2096 Collecting Bugs 概率DP
    [转]数据输入加速
    POJ-3468 A Simple Problem with Integers Splay Tree区间练习
    HDU-4419 Colourful Rectangle 矩形多面积并
    POJ-1177 Picture 矩形覆盖周长并
    HDU-1255 覆盖的面积 覆盖的矩形面积并
    POJ-1151 Atlantis 矩形面积并
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/7762764.html
Copyright © 2011-2022 走看看