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. 【Sofa】Sofa比赛成绩记录

    最高得到过第4名,然后后面跌倒了第7名,现在追到了第6名.虽然名次还不是最高,但是很开心,今天能在一道一直困扰的题目上有突破,就是那个自行车预测的题目,开始过拟合了.后面进行了一些处理,效果很明显.继 ...

  2. mysql show profiles使用分析sql性能

    mysql show profiles使用分析sql性能 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看一下我的数据库版本 mysql> ...

  3. gcc编译错误:DSO missing from command line

    在用gcc 编译连接的时候,可能会遇到类似以下的错误: /usr/bin/ld: test_desktop_utils-test-desktop-utils.o: undefined referenc ...

  4. android 开发者的个人博客集

    1.  http://stormzhang.com/posts.html    //不少的好的工具与建议

  5. Intellij IDEA 2017 破解

    http://idea.lanyus.com/ https://www.cnblogs.com/wang1024/p/7485758.html

  6. Sql中存在斜杠“/”怎么办?

    比如下面的语句 select concat(name,'/',description) from table1 这样的语句在数据库访问工具中执行没问题,到java中就报错. 解决办法也很简单,用单引号 ...

  7. 如何使用FlashgameMaster修改游戏

    1 打开任意一款游戏,注意最好是AS2.0版的,我们以黄金矿工为例. 2 使用方法: 点击编辑按钮的打开编辑面板出现编辑面板后在对话框中输入要查找的数值,点击查找按钮,会列表出所以等于该值的变量. 如 ...

  8. IOS AppUI规格指南

  9. Scapy基础学习之中的一个

    关于Scapy Scapy的是一个强大的交互式数据包处理程序(使用python编写). 它可以伪造或者解码大量的网络协议数据包,可以发送.捕捉.匹配请求和回复包等等.它可以非常easy地处理一些典型操 ...

  10. SoC嵌入式软件架构设计之六:API设计方法

    在嵌入式系统中,驱动都是以API的方式提供给应用进行调用.这里介绍嵌入式系统的API设计和管理方法. 驱动在系统中会按模块进行分类,比如按键驱动.LCD驱动.文件系统.card驱动.I2C驱动等等:每 ...