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的更多相关文章

  1. 用Jedis连接Redis

    jedis中的方法名,和Redis的命令几乎一样 1.jar包,作为测试只需要一个jar 2.代码 package com; import java.util.HashMap; import java ...

  2. 使用可视化工具redisclient连接redis

    可视化工具推荐:http://database.51cto.com/art/201505/477692.htm 1.连接redis服务端 1.1 设置连接密码:在redis根目录下,双击redis-c ...

  3. 关于Jedis连接redis出现问题

    环境说明: redis服务器系统:ubuntu ip 192.168.10.9 port 6379 两台电脑:一个作为专门的服务器,一个是开发环境,以下一顿操作皆基于开发环境. 就这样的简单的代码连接 ...

  4. Redis系列-远程连接redis并给redis加锁

    假设两台redis服务器,ip分别为:192.168.1.101和192.168.1.103,如何在101上通过redis-cli访问103上的redis呢?在远程连接103之前,先讲下redis-c ...

  5. redis在.net架构中的应用(1)--使用servicestack连接redis(转)

    引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...

  6. php安装redis扩展连接redis服务器

    扩展包的下载地址:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz tar xf phpredis-2.2.4.tar.gz cd ...

  7. Java连接redis的使用演示样例

    Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...

  8. 在Linux平台上用ASP.NET 5 连接Redis服务器

    最近在做一个Linux平台上基于ASP.Net 5 中间件+Redis+Mysql架构的系统,研究使用了 StackExchange.Redis 作为asp.net5连接redis的工具.作者在前几天 ...

  9. 利用servicestack连接redis

    利用servicestack连接redis 引言:作为少有的.net架构下的大型网站,stackoverflow今日发表了一篇文章,介绍了其技术体系,原文链接http://highscalabilit ...

  10. 使用Java连接Redis

    下载redis的驱动包:Jedis.下载地址:https://mvnrepository.com/artifact/redis.clients/jedis/2.9.0 打开IDE,我使用的是Eclip ...

随机推荐

  1. Android 多线程之HandlerThread 完全详解

    关联文章: Android 多线程之HandlerThread 完全详解 Android 多线程之IntentService 完全详解 android多线程-AsyncTask之工作原理深入解析(上) ...

  2. spring-data-jpa查询语句的书写实例小计

    //查询语句List<AuctionLot> alots = auctionLotRepository.findAllByAuctionIdAndAucIdIsNotNullAndIsOf ...

  3. OneThink框架的文章详情页分页

    Application/Home/Controller/ArticleController.class.php的detail函数修改结果如下: /* 文档模型详情页 */public function ...

  4. centos6.8下安装部署LNMP(备注:nginx1.8.0+php5.6.10+mysql5.6.12)

    在平时运维工作中,经常需要用到LNMP应用框架.以下对LNMP环境部署记录下: 1)前期准备:为了安装顺利,建议先使用yum安装依赖库[root@opd ~]#yum install -y make ...

  5. CSS中样式

    CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离.要想让CSS对网页内容有效果,必须将CSS代码引入网页,通常有四 ...

  6. 前端传递参数,由于控制器层类实现了struts2的ModelDriven而产生的一个异常

    产生的异常如下: ognl.MethodFailedException: Method "setId" failed for object com.aliyun.pcitcAliy ...

  7. 解决Spark集群无法停止

    执行stop-all.sh时,出现报错:no org.apache.spark.deploy.master.Master to stop,no org.apache.spark.deploy.work ...

  8. Windows下搭建Solr环境

    1.配置Java环境,可参考菜鸟教程:http://www.runoob.com/java/java-environment-setup.html (注意:在"系统变量"中设置3项 ...

  9. 从HTML5移动应用现状谈发展趋势

    时光如梭,自2008年HTML5诞生以来已经过去了5年的时间,作为新一代的Web标准,它自问世以来就受到方方面面的强烈关注,也引起了许多争议,支持者因其开放强大的特点而鼓吹它的美好前景,质疑者因其迟迟 ...

  10. java的IO操作:字节流与字符流操作

    流的概念 程序中的输入输出都是以流形式,流中保存的实际上都是字节文件. 字节流与字符流 字节流的操作: 1)输入:inputStream, 2)输出:outPutStream; 字符流的操作: 1)输 ...