关于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. LeetCode题解:(221) Maximal Square

    题目说明 Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's a ...

  2. 软工网络15团队作业8——Beta阶段敏捷冲刺(Day4)

    提供当天站立式会议照片一张 每个人的工作 1.讨论项目每个成员的昨天进展 赵铭: 在知晓云上建立数据表 吴慧婷:做了背单词界面并学习了词库界面的设计. 陈敏: 我的词库-全部词汇功能/新建词汇功能全部 ...

  3. vue开发完成后打包后图片路径不对

    用vue做了一个小的移动端项目,从头到尾做下来,感觉自己好多东西都没弄清楚过.也学到了很多,已整理笔记在自己电脑上,但是比较零散,空了再来仔细整理整理. 于是,上周五模拟好数据(接口还未写),准备打包 ...

  4. Java VM 环境配置过程要点( win10,64位)

    好些教程写的都不一样.留个脚印免得以后再安装的时候找不到完全合适的教程. 注:JDk中就有java虚拟机,即JRE.除此之外,还有许多的命令包,供java程序员使用. 安装要点: (1)安装jre(j ...

  5. Jquery 中 $.getJSON的用法

    之前类似的方法用过 $.post, $.get,$.ajax,还是第一次用这个 $.getJSON. 前三个都是用作异步请求的,那么最后一个呢?其实也是异步请求的,和 $.get 最类似,因为他也是将 ...

  6. jQuery--Excel插件js-xlsx

    参考博客:http://www.jianshu.com/p/74d405940305 github地址:SheetJS / js-xlsx js引入 <script type="tex ...

  7. php 关于文件的一些封装好的函数

    <?php //Bytes/Kb/MB/GB/TB/EB /** * 转换字节大小 * @param number $size * @return number */ function tran ...

  8. 修改grub需要修改权限命令

    Ubantu每次更新都会把用于引导的grub文件重置,导致开机后,又找不到系统,看来以后还是要备份一下grub文件.另外,这周开始学习python,先学习Linux系统的命令行操作,很多操作是相通的. ...

  9. P2617 Dynamic Rankings

    题目描述 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤ ...

  10. java的4种引用 强软弱虚

    &amp;lt;img src="https://pic4.zhimg.com/d643d9ab5c933ac475cfa23063bed137_b.png" data-r ...