.net 连接Redis
Redis安装
公司业务需要,弄了个类似于消息队列的东西,由客户端一直轮询取得信息。之前一直是走表的,但是效率以对表的使用都太过频繁,想试着用一下Redis,看看效率怎么样。
首先是安装Redis,这个是从github上面下载下来的,最新的3.x的版本,放到服务器上面,然后安装。
安装期间应该(忘记了)会出现让选择是否以服务的形式安装,如果出现这样的选择,就选是。
然后在系统服务里面就可以找到这个服务了,应该默认是已经开启了。
打开cmd(如果之前打开,请关掉重新开,因为之前path变量 没有加载进来)。输入redis_cli,就ok了,会自动连接到服务器自己的Redis数据库中。可以试一下
>set name ensleep
然后再
>get name
“ensleep”
这就说明已经运行正常。
Redis设置
Redis的设置非常简单,对比IIS而言,如下:
持久化
Redis的持久化是通过文件来的,一种是AOF,另一种是RDB。
好多教程里面都说持久化设置在redis.config里面,但是,windows下的配置文件却是redis.windows-service.conf,打开这个文件,作如下配置修改
AOF
这种方式是备份模式,每条指令都会被转存一份(linux下通过fork(),windows下通过内存分布映射)到文件中,而且每次都是追加的,这使得备份的数据时刻最新,但是,也因为是一直追加,文件会越来越大,而且当执行一次恢复之后,可能会产生上一次的指令未被备份的情况。配置的操作如下:
appendonly yes #启用AOF持久化方式
appendfilename appendonly.aof #AOF文件的名称,默认为appendonly.aof
# appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。
appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。
# appendfsync no #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。
上面的配置来自网络,
第一条是说明启动AOF的方式;第二条设置的是文件名,这个文件会变得很大;第三到五条则是写入的触发点,因为是消息队列,我选的是everysec,怎么说呢,因为我觉得如果每次都写到文件里面,是不是有点太过分了,而且如果系统出错,前一秒内的数据丢失其实也是很正常的,哪怕你是开了always,你敢说你在写io时候不断电?
AOF还有一种原因就是我上面讲的,会出现文件越来越大的情况,这种情况我们也可以通过一个设置来改变。
本方法的目的是在将AOF文件重新整理,使其变得小一些。去掉那个无效的指令。
no-appendfsync-on-rewrite yes #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,避免与命令的追加造成DISK IO上的冲突。
auto-aof-rewrite-percentage 100 #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,自动启动新的日志重写过程。
auto-aof-rewrite-min-size 64mb #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids时由于文件尺寸较小导致频繁的重写。
先把第一条打开,即使用异步的重写,然后设置第二条在超出原来百分多少后重写日志,第三条是只有在满足那样的大小的情况下,才执行重写操作,与第二条是逻辑与的条件关系。
RDM
这种方式类似于定时备份,就是按设定的周期将数据的内存页转为rdb文件,存下来。由于是整个内存文件,所以比较完整,但是不能保证是最新的。配置的操作如下:
save 900 1 #当有一条Keys数据被改变时,900秒刷新到Disk一次
save 300 10 #当有10条Keys数据被改变时,300秒刷新到Disk一次
save 60 10000 #当有10000条Keys数据被改变时,60秒刷新到Disk一次
网上的建议是两种方式都使用,而系统在重启的时候使用加载优先加载rdm,然后再核对AOF。我也是如此,将两者开打开了。
下面就是开启Redis服务,高枕无忧,开始使用了。因为这已经不是关系数据库了,那些个条件查询之类的,不能再奢望了。
.net 连接Redis的更多相关文章
- 用Jedis连接Redis
jedis中的方法名,和Redis的命令几乎一样 1.jar包,作为测试只需要一个jar 2.代码 package com; import java.util.HashMap; import java ...
- 使用可视化工具redisclient连接redis
可视化工具推荐:http://database.51cto.com/art/201505/477692.htm 1.连接redis服务端 1.1 设置连接密码:在redis根目录下,双击redis-c ...
- 关于Jedis连接redis出现问题
环境说明: redis服务器系统:ubuntu ip 192.168.10.9 port 6379 两台电脑:一个作为专门的服务器,一个是开发环境,以下一顿操作皆基于开发环境. 就这样的简单的代码连接 ...
- Redis系列-远程连接redis并给redis加锁
假设两台redis服务器,ip分别为:192.168.1.101和192.168.1.103,如何在101上通过redis-cli访问103上的redis呢?在远程连接103之前,先讲下redis-c ...
- redis在.net架构中的应用(1)--使用servicestack连接redis(转)
引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...
- php安装redis扩展连接redis服务器
扩展包的下载地址:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz tar xf phpredis-2.2.4.tar.gz cd ...
- Java连接redis的使用演示样例
Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...
- 在Linux平台上用ASP.NET 5 连接Redis服务器
最近在做一个Linux平台上基于ASP.Net 5 中间件+Redis+Mysql架构的系统,研究使用了 StackExchange.Redis 作为asp.net5连接redis的工具.作者在前几天 ...
- 利用servicestack连接redis
利用servicestack连接redis 引言:作为少有的.net架构下的大型网站,stackoverflow今日发表了一篇文章,介绍了其技术体系,原文链接http://highscalabilit ...
- 使用Java连接Redis
下载redis的驱动包:Jedis.下载地址:https://mvnrepository.com/artifact/redis.clients/jedis/2.9.0 打开IDE,我使用的是Eclip ...
随机推荐
- SqlServer 执行计划及Sql查询优化初探
网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出仅几S甚至几MS的时间差的例子来证明着什么(有点可笑),让许 ...
- JSON和XML的区别
- OpenGL实现多层绘制(Layered Rendering) [转]
http://blog.csdn.net/u010462297/article/details/50589991 引言 在某些情况下会需要用到多层绘制.FBO下有多个颜色挂接点(Color Attac ...
- 增强学习--Sarsa算法
Sarsa算法 实例代码 import numpy as np import random from collections import defaultdict from environment i ...
- [Android]Volley源代码分析(二)Cache
Cache作为Volley最为核心的一部分,Volley花了重彩来实现它.本章我们顺着Volley的源代码思路往下,来看下Volley对Cache的处理逻辑. 我们回忆一下昨天的简单代码,我们的入口是 ...
- 深入NIO Socket实现机制(转)
http://www.jianshu.com/p/0d497fe5484a# 前言 Java NIO 由以下几个核心部分组成: Buffer Channel Selector 以前基于net包进行so ...
- [转] Google 开源 iOS 应用测试工具:EarlGrey
Google 开源 iOS 应用测试工具:EarlGrey oschina 发布于: 2016年02月18日 (3评) 分享到: 收藏 +53 3月19日,深圳源创会火热报名中,go>&g ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何让文本框可以输入,文本框可以编辑
选中一个文本框,然后在属性中双击输入配置的OnMouseDown事件(也可以是别的事件,但都是通过这种方法) 在左侧点击写变量,然后输入类型改成VisuDialos.Numpad(数字键盘方式), ...
- Python基础之字符串的练习
练习1 #!/usr/bin/python -tt # Copyright 2010 Google Inc. # Licensed under the Apache License, Version ...
- 详解CSS的相对定位和绝对定位(讲得很详细)
详解CSS的相对定位和绝对定位 CSS的相对定位和绝对定位通常情况下,我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left ...