关于Redis

1.简介

Redis是著名的NOSQL(Not Only SQL)数据库,是键值对结构。(我只用过键值对结构的)

他为存储键值对做了优化,在大型网站中应用广泛。Redis提供了数据的自动过期处理,而且支持集群。

适合临时存储数据,和存储一些离散的数据。

2.用途

Redis可以存储一些临时数据。可以存储一些,某一时刻有意义,但是又不值得存入数据库的数据。

同时,对于数据统计来说,用户的一次点击,一次登录,都是有意义的。但是这些大量的离散的,单个拿出来毫无意义的数据,显然不适合存储在关系型数据库中。Redis提供了解决这种问题的方案。

3.环境

说明: Redis服务器有Linux、Windows版,Linux版性能好适合生产环境,在自己的windows电脑上配只是为了学习。 不用太较真。

1)Windows下Redis服务器的安装:解压redisbin_x32.zip到硬盘;

2)安装RedisWatcher(把Redis运行为系统服务,如果安装过程有问题,直接执行redis-server 也可以),

3)然后配置RedisWatcher安装目录下的watcher.conf指向redis-server 的路径,然后到Windows 服务中启动RedisWatch。 注意watcher.conf只能用高级文本编辑器打开。

4)在项目中引用

如果想使用Redis数据库,需要在项目中添加如上的四个引用。

OK,准备工作到此,全部完成。我们开始使用的demo。

使用

1.相当于配置文件的类。

public class RedisManager

{

//注意,这个属性的写法是{ get; private set; }  外部不可写入。

public static PooledRedisClientManager  ClientManager { get; private set; }

static RedisManager()

{

RedisClientManagerConfig redisConfig = new RedisClientManagerConfig();

redisConfig.MaxWritePoolSize = 128;

redisConfig.MaxReadPoolSize = 128;

/*读写分离。多台Redis组成集群

注意前两个参数,参数1表示,读写Redis的服务器地址,为字符串数组,支持多个地址,也就是支持集群。

参数2表示,读Redis的服务器,同样支持集群。

*/

ClientManager = new PooledRedisClientManager(new string[] {"127.0.0.1"},

new string[] {"127.0.0.1"}, redisConfig);

}

}

2.保存和读取

static void Main(string[] args)

{

using (IRedisClient client = RedisManager.ClientManager.GetClient())

{

//1.设置读取int对象

client.Set<int>("age",18);

client.Get<int>("age");

//2.设置读取sting对象

client.Set<string>("name","jim");

string name = client.Get<string>("name");

//3.设置读取Dictionary对象

Dictionary<string, string> dict = new Dictionary<string, string>();

dict.Add("aaa", "bbb");

client.Set<Dictionary<string, string>>("dict",dict);

client.Get<Dictionary<string,string>>(dict);

//4.赋值时,设置失效时间。

client.Set<string>("name", "rupeng", DateTime.Now.AddSeconds(30))

}

}

.NET 下第一次接触Redis数据库的更多相关文章

  1. 孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase

    孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase (完整学习过程屏幕记录视频地址在文末) 之前对关系型数据库的学习告一段落,虽然能力所限没有能够完全完成理想中的所有数据库操 ...

  2. linux下安装 配置 redis数据库

    通过终端命令安装(推荐): 1 确保更新源服务器能正常使用 如果没有更换更新源服务器,那么可能一直都下不了软件.欢迎参考我之前的博文来更换成国内的镜像服务器http://www.cnblogs.com ...

  3. Linux下第一次使用MySQL数据库,设置密码

    在终端下输入:/etc/rc.d/init.d/mysqld status 查看MySQL状态,看看是否运行. 没有运行的话就输入:/etc/rc.d/init.d/mysqld start 这时,就 ...

  4. Windows下安装Redis数据库并实现C#访问

    1.Redis在Windows下的安装 目前Redis官方并不支持Redis的Windows版本,需要去GitHub下载. GitHub上的Redis分两种,一种是以命令行形式安装的,一种是以Wind ...

  5. Laravel 下配置 Redis 让缓存、Session 各自使用不同的 Redis 数据库

    为什么要这样做? 默认情况下,Redis 服务会提供 16 个数据库,Laravel 使用数据库 0 (请见 Redis 文档)作为缓存和 Session 的存储. 在使用的过程中觉得这个默认的设置挺 ...

  6. Redis数据库在windows系统下的安装及使用

    1.下载 Redis官方是不支持windows的,但是Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,下载地址:https://github.com/ ...

  7. linux下redis数据库的简单使用

    一.redis简介 Redis是一个key-value存储系统.和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持list ...

  8. linux环境下redis数据库的安装|配置|启动

    安装 下载:打开redis官方网站,推荐下载稳定版本(stable) 解压 tar zxvf redis-3.2.5.tar.gz 复制:推荐放到usr/local目录下 sudo mv -r red ...

  9. Linux环境下安装Redis数据库

    1.下载Redis安装包 访问https://redis.io/download,目前最新版本是5.0.5,点击下载 2.安装Redis 2.1通过远程工具把压缩包导入Linux工作盘,我的在home ...

随机推荐

  1. 小试javascript模版mustache

    夜以深,人未眠,本该入睡,然逢周末,无聊甚哉,故于此作文打发时间----------- 前几日,无聊,小试了下javascript版本的mustache模版,说是小试,其实主要目的是阅读学习其源码.如 ...

  2. python的N个小功能(图片预处理:打开图片,滤波器,增强,灰度图转换,去噪,二值化,切割,保存)

    ############################################################################################# ###### ...

  3. NOIP2017 心路历程

    虽然没能去考试,但是在学弟们考试前后也发生了很多事情. 周四晚上.学弟们出发前最后一天.单独找几个人谈了谈.面对退役他们还是有点慌啊.这个时候给他们调整心态或许有点迟了. 21:45.最后一分钟.为他 ...

  4. Long Long Message POJ - 2774(最长公共子串)

    题意: 给你两串字符,要你找出在这两串字符中都出现过的最长子串 解析: 先用个分隔符将两个字符串连接起来,再用后缀数组求出height数组的值,找出一个height值最大并且i与i-1的sa值分别在两 ...

  5. hbase 跳转过滤器skipfilter

    用于跳过整个行键,需要和其他过滤器一起使用,本例SkipFilter和ValueFilter过滤器组合使用过滤不符合条件的行, 如果不配合SkipFiter,ValueFilter只过滤单元值包含的列 ...

  6. 【刷题】BZOJ 3529 [Sdoi2014]数表

    Description 有一张n×m的数表,其第i行第j列(1<=i<=n,1<=j<=m)的数值为能同时整除i和j的所有自然数之和.给定a,计算数表中不大于a的数之和. In ...

  7. [洛谷P4705]玩游戏

    题目大意:对于每个$k\in[1,t]$,求:$$\dfrac{\sum\limits_{i=1}^n\sum\limits_{j=1}^m(a_i+b_j)^k}{nm}$$$n,m,t\leqsl ...

  8. Find Common Characters - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Find Common Characters - LeetCode 注意点 不能单纯的以字母出现的次数来判断是否是公共的字母 解法 解法一:将第一个字符串 ...

  9. 【uoj125】 NOI2013—书法家

    http://uoj.ac/problem/125 (题目链接) 题意 在网格上写“NOI”,每个格子上有一些权值,要求覆盖的权值最大.书写有一些规则. Solution 将“NOI”分成11个部分, ...

  10. wazhu之agent功能详解

      一.日志数据收集 日志数据收集是从服务器或设备生成的记录中收集的实时过程.此组件可以通过文本文件或Windows事件日志接收日志.它还可以通过远程syslog直接接收日志,这对防火墙和其他此类设备 ...