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 Files\Redis)

  • 启用redis

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

D:\Program Files\Redis>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 Files\Redis>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");

        } 

Redis在.NET环境下实践篇(一)的更多相关文章

  1. [原]Redis主从复制各种环境下测试

    Redis 主从复制各种环境下测试 测试环境: Linux ubuntu 3.11.0-12-generic 2GB Mem 1 core of Intel(R) Core(TM) i5-3470 C ...

  2. Redis在windows环境下ThinkPHP的安装和使用

    1.Redis概述: 2.Redis在windows环境下的安装: 下载地址:https://github.com/dmajkic/redis/downloads,选取其中一个zip压缩包:

  3. Shiro权限管理框架(二):Shiro结合Redis实现分布式环境下的Session共享

    首发地址:https://www.guitu18.com/post/2019/07/28/44.html 本篇是Shiro系列第二篇,使用Shiro基于Redis实现分布式环境下的Session共享. ...

  4. 基础--Redis在Linux环境下的安装

    1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...

  5. Redis学习——Windows环境下Redis的安装(二)

    一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...

  6. Redis学习——Linux环境下Redis的安装(一)

    一.关于Redis Redis最为一款开源的key-value存储系统,自推出到现在一直受到编程人员的喜爱.它支持存储多种value类型,String .List .Set .Zset .Hash.这 ...

  7. Redis在.net 环境下的使用

    Redis概念 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括st ...

  8. Redis集群环境下的键值空间监听事件实现方案

    一直想记录工作中遇到的问题和解决的方法,奈何没有找到一方乐土,最近经常反思,是否需要记录平时的点滴,后台还是决定下定决心记录一些,以便以后用到的时候找不着,实现这样的一个功能主要也是业务所需要的. 需 ...

  9. Redis在linux环境下的安装

    下载Redis安装包 wget http://download.redis.io/releases/redis-3.2.9.tar.gz 解压Redis安装包 tar -zxvf redis-3.2. ...

随机推荐

  1. Eclipse Java EE IDE中jsp页面编码修改

    Eclipse Java EE IDE模板编码是ISO8859,肯定不是我们需要的,修改方法如下图: 依次点击:Window---->Preference---->Web---->J ...

  2. 浅析Symbol

    不知道大家有没有留意ES6中的Symbol函数?在此之前,我对Symbol的认识知识这样的:  一.Symbol()和Symbol.for('str') Symbol()是独一无二的,你无法创建两个相 ...

  3. 从互联网进化的角度看AI+时代的巨头竞争

    今天几乎所有的互联网公司在谈论和布局人工智能,收购相关企业.人工智能和AI+成为当今科技领域最灸手可热的名词,关于什么是AI+,其概念就是用以表达将"人工智能"作为当前行业科技化发 ...

  4. 哈工大LTP语言分析:分词、词性标注、句法分析等

    1. LTP介绍和安装 LTP语言云官网  在线演示 | 语言云(语言技术平台云 LTP-Cloud) 安装LTP的python接口包 $ sudo pip install pyltp 模型文件下载 ...

  5. Shell 关闭指定进程

    例如要关闭jupyter-notebook这个进程: - | 说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入. “ps -ef” 查看所有进程 “grep -v g ...

  6. POJ 1951

    把给定字符串翻译成目标字符串需要满足的条件是: 1.开头不能有空格 2.末尾不能有空格 3.给定标点前不能有空格 4.不能有A.E.I.O.U 5.空格不能和空格相邻 6.相同的字母只能出现1次 给出 ...

  7. 胖AP基本配置:

      配置思路: 先创建wlan并广播ssid 进入射频子接口封装用户vlan 进入射频口关联wlan 注意:03 多个无线信号配置 注:在把AP改为 ap-mode fat后不能退出特权模式,不然需要 ...

  8. python sys.path.append()和sys.path.insert()

    python程序中使用 import XXX 时,python解析器会在当前目录.已安装和第三方模块中搜索 xxx,如果都搜索不到就会报错. 使用sys.path.append()方法可以临时添加搜索 ...

  9. HTTP 1.1 协议规范

    1. 内容协商 请求一个特殊编码的过程在 HTTP 1.1 规范中称为内容协商:

  10. wampserver搭建本地服务器

    打开..\wamp\bin\apache\apache2.4.9\conf\httpd.conf配置文件, <Directory "c:/wamp/www/"> # # ...