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 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"); } 
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值