学到Redis中需要整理和配置的东西比较多,资源也是比较分散!这次的主要还是将知识整合一下,开发过程中所需要的资源整合一下,也方便今后涉及到这块地方的知识时,将时间大量浪费在了找这些资源上了!

一.Redis(NOSQL数据库):

redis主要是用于存储键值对数据(主要对这进行了优化)的一种数据库,并且对数据进行了自动过期处理。和memcached不同之处在于,redis数据存在本机硬盘上,而memcached则是将数据存在内存中。

redis有Windows版和linux版,平常测试开发基本使用Windows版,在正式项目开发过程中,一般用linux

二.redis的安装和配置:

关于redis的安装(Windows版)可以参考官方教程配置,

这个是通过server.exe启动的:http://www.redis.net.cn/tutorial/3503.html

win64可以下载这个带服务的(后缀是.msi):https://github.com/MSOpenTech/redis/releases

win32下载选择适合版本:https://github.com/MSOpenTech/redis/releases?after=win-2.8.2102

.net驱动:https://github.com/ServiceStack/ServiceStack.Redis/tree/master/lib

驱动需要下载下列四个:

 

三.代码连接Redis:

根据业务的不同,进行相应的连接配置,这里介绍的是最简单的连接配置:

class RedisManager
{
public static PooledRedisClientManager clientManager { get; private set; }
static RedisManager()
{
RedisClientManagerConfig clientMangerConfig = new RedisClientManagerConfig();
clientMangerConfig.MaxWritePoolSize = ;
clientMangerConfig.MaxReadPoolSize = ;
clientManager = new PooledRedisClientManager( new string[] { "127.0.0.1" }, new string[] { "127.0.0.1" }, clientMangerConfig);
}
}

设置和读取值:

 using(client = RedisManager.clientManager.GetClient())
{
string str= client.Set<string>("key","value",expireTime);//括号中第一个参数键,第二个值是值,第三个是过期时间
}

关于Redis知识也可以参考这篇博客,确实也写的挺好:http://www.cnblogs.com/yangecnu/p/Introduct-Redis-in-DotNET.html

四.消息队列:

到底什么是消息队列?

答:来个个人通俗的解释吧。消息队列,顾名思义 首先是个队列。

队列的操作有入队出队也就是你有一个程序在产生内容然后入队(生产者)

另一个程序读取内容,内容出队(消费者)

生产数据:

 static void Main(string[] args)
{
IRedisClient client;
using (client = RedisManager.clientManager.GetClient())
{
while (true)
{
string line = Console.ReadLine();
client.EnqueueItemOnList("redistest", line);
if (line == "ok")
{
break;
}
}
}
Console.ReadKey();
}

消费数据:

static void Main(string[] args)
{
using (var client = RedisManager.clientManager.GetClient())
{
while (true)
{
string str = client.DequeueItemFromList("redistest");
if (str == null)
{
Console.WriteLine("没有找到数据");
Thread.Sleep();
continue;
}
else
{
Thread.Sleep();
Console.WriteLine(str);
}
}
}
}

注:这里可以大量生产数据,而消费者可以慢慢的消费生产的数据

五.Redis数据库管理工具及使用过程中注意事项:

Redis数据库管理工具:http://redisdesktop.com/download

可以方便的看到redis Key中存储的各种类型的值。

使用Redis时需注意:

1.当很多数据往Redis中写入时,要避免键冲突:键冲突会使得相同名称的键的值会被覆盖掉。

避免键冲突:例如可以适当给键的名称加个前缀

2.Redis是大家共享存储的键值对存储空间,A写入的,B是可以读出来的;A写入的,B也是可以进行覆盖掉的

Redis简单配置和使用的更多相关文章

  1. redis简单配置

    由于前段时间使用Kestrel,同时要操作Memcached及时更新缓存,又要操作database,持久化数据. 貌似Redis既可以当Cache又可以当Queue!于是,今天开始研究Redis! 一 ...

  2. 一、redis简单配置

    1.安装 下载安装后解压即可执行make命令完成编译,完整命令如下: wget http://download.redis.io/redis-stable.tar.gz tar xzf redis-s ...

  3. redis主从简单配置

    网上有好多复杂的配置,这里我用的是windows版的redis,简单配置了下,试验了下主从,能正常使用. 1.redis-master文件夹(里面是redis),redis-slave文件夹(里面是r ...

  4. dubbo 图片服务器(FastDFS) redis solr ActiveMQ等简单配置使用

    一.dubbo 项目基于soa的架构,表现层和服务层是不同的工程.所以要实现商品列表查询需要两个系统之间进行通信. 1.1如何实现远程通信? 1.Webservice:效率不高基于soap协议.项目中 ...

  5. 在linux安装redis单机和集群后,如何在windows上使用redis客户端或者java代码访问错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。

    这几天在学习在linux上搭建服务器的工作,可谓历经艰辛.可喜最后收获也不少. 这次是在linux上搭建redis服务器后从windows上缺无法访问,连接不上. 仔细回忆以前搭建nginx和ftp的 ...

  6. Ubuntu14.04安装redis和简单配置

    1.前言 Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速.用Redis可以很轻松解决高并发的数据访问问题:做为时时监控信号处理也非常不错. ...

  7. Redis安装配置与Jedis访问数据库

    一.NOSQL概要 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.NoSQL数据库的四大分类 键值(Key-Value)存储数据库 这一类数据 ...

  8. Redis主从配置详细过程

    Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面楼主简单的进行一下配置. 1.上面安装 ...

  9. redis主从复制配置(1)

    我们来配置一个一主两从的服务,根据前面写的已经配置好的redis基础上进行主从配置 一:进入redis的配置目录 cd /usr/local/redis 创建下面3个目录,命令为:make -p /u ...

随机推荐

  1. php模式设计之 策略模式

    策略模式: 策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法. 使用场景: 例如有一个CD类,我们类存储了CD的信息. 原先的时候,我们在CD类中直接调用getCD方法 ...

  2. 浅谈Android的Activity运行流程(生命周期)

    关于Android的Activity运行流程,我们可以写一些程序来直观的查看Activity的运行流程.在这里我们使用Log工具来获取Activity运行日志.假如我们新建一个Android项目,Pr ...

  3. 部署Sharding分片

    这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding 的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB 集群. MongoDB 的数据分块称为 ch ...

  4. Pomelo术语解释

    gate服务器 一个应用的gate服务器,一般不参与rpc调用,也就是说其配置项里可以没有port字段,仅仅有clientPort字段,它的作用是做前端的负载均衡.客户端往往首先向gate服务器发出请 ...

  5. 将 Callout 容器添加到移动设备应用程序中

    在移动设备应用程序中,callout 是在应用程序顶部弹出的容器.该容器可以容纳一个或多个组件,并且支持不同类型的布局. callout 容器可以是模态或非模态容器.模态容器在其关闭之前接受所有的键盘 ...

  6. Servlet中进行context属性的同步

    Servlet中进行context属性的同步: 必须所有使用context的servlet都进行synchronized才可以实现同步: servlet: package com.stono.serv ...

  7. CodeForces757B

    B. Bash's Big Day time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...

  8. Vmware 中安装 Ubuntu Server (或者ubuntu 以文本界面登陆时) 分辨率无法全屏问题

    Vmware 中安装 Ubuntu Server/Ubuntu 分辨率,无法全屏问题 需要更改grub设置 在终端或者文本界面按下列步骤进行设置: 第一步: 输入命令 sudo vim /etc/de ...

  9. Tomcat使用常见问题

    1,启动服务器,闪退问题 原因:tomcat软件是用java语言开发的,软件启动时,会默认到系统环境变量中查找一个名叫JAVA_HOME的变量.这个变量的作用是找到tomcat启动所需的JVM.   ...

  10. JQuery之 serialize() 及serializeArray() 实例介绍

    这两个方法都是jq封装的,主要用于form表单. serialize(); 1.创建一个标准url编码显示的文本字符转: 2.操作的对象是表单元素结合的jq对象: serializeArray(); ...