• .NET 下第一次接触Redis数据库


    关于Redis

    1.简介

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

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

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

    2.用途

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

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

    3.环境

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

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

    clipboard

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

    clipboard[1]

    clipboard[2]

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

    clipboard[3]

     

    clipboard[4]

    4)在项目中引用

    clipboard[5]

    如果想使用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))

                }

       }


  • 相关阅读:
    网络流
    第k短路(Dijkstra & A*)
    线段树(区间修改)
    线段树(单点修改)
    分块
    单调队列
    NOIP 2006 T2 金明的预算方案
    背包
    CH 6021 走廊泼水节
    关于数字序列匹配的一些问题(lis, lcs, lcis等)
  • 原文地址:https://www.cnblogs.com/mcad/p/4621969.html
Copyright © 2020-2023  润新知