212  
查询码:00000693
Redis简单使用(1)
作者: 朱凡 于 2019年12月28日 发布在分类 / FM组 / FM_App 下,并于 2019年12月28日 编辑

一、定义

redis是nosql产品之一,nosql就是无需编写复杂的sql语句。是Remote Dictionary Server(远程字典数据服务)的缩写,它的数据模型为 key-value。它支持丰富的数据结构(类型),比如 String  list  hash   set  sorted set。可持久化(随时把数据备份到硬盘中一份),保证了数据安全。
简单应用场景:同一个select 查询语句,每天需要被执行查询100万次(获得数据数据其实都是一样的,只是在做重复的查询工作而已),为了减轻数据库的负载,就把查询好的数据给缓存起来(存储在内存中),每天的第一个用户的第一次查询就从mysql中获得数据并存储到内存中,第二个 到 第100万次请求就直接从内存中获得数据。

二、作用:  

  1、使用缓存减轻数据库的负载。
  2、在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据) ,该行为就称作对该数据的缓存。
缓存的两种形式:(一些不常更新的数据)
  ①页面缓存经常用在CMS(content manage system)内存管理系统里边(Smarty缓存),如新闻类信息

  ②数据缓存经常会用在页面的具体数据里边。

三、安装

参考网上教程

1、安装教程

https://blog.csdn.net/qq_36653267/article/details/80652765

2、安装RedisManager可视化工具

https://www.jianshu.com/p/ccc3ebe29f7b

四、在项目中简单使用

1、引入第三方dll

粘贴图片

2、在web.config(配置文件根据实际情况查找)添加配置redis相关参数

  <!--IP地址-->
  <add key="RedisHost" value="127.0.0.1"/>

  <!--端口-->
  <add key="RedisPort" value="6379"/>

  <!--密码(没有密码建议配置上,生产环境与测试环境保持一致,没有密码设置空字符串)-->
  <add key="RedisPassword" value=""/>

3、Redis工具类

public class RedisUtil
    {
        static string host = System.Configuration.ConfigurationManager.AppSettings["RedisHost"];
        static int port = int.Parse(System.Configuration.ConfigurationManager.AppSettings["RedisPort"]);
        static string password= System.Configuration.ConfigurationManager.AppSettings["RedisPassword"];
        
        /// <summary>
        /// 获取缓存
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static object GetRedis(string key)
        {
            var user = null as object;
            try
            {
                RedisClient rc = new RedisClient(host, port);
                if (string.IsNullOrWhiteSpace(key))
                {
                    return null;
                }
                else
                {
                    if (!string.IsNullOrWhiteSpace(password))
                    {
                        rc.Password = password;
                    }
                    user = rc.Get<object>(key);
                }
            }
            catch (Exception e)
            {
                return null;
            }
            return user;
        }

        /// <summary>
        /// 设置缓存
        /// </summary>
        /// <param name="key"></param>
        /// <param name="obj"></param>
        /// <param name="expire">小时</param>
        /// <returns></returns>
        public static bool SetRedis(string key ,object obj,int expire)
        {
            RedisClient rc = new RedisClient(host, port);
            try
            {
                if (!string.IsNullOrWhiteSpace(password))
                {
                    rc.Password = password;
                }

                //设置缓存时效
                rc.Expire(key, expire * 60 * 60);//redis时效单位为秒,实际调用传过来的是小时。
            }
            catch (Exception e)
            {
                return false;
            }
            return rc.Set<object>(key, obj);
        }

        /// <summary>
        /// 删除Redis
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool DelRedis(string key)
        {
            RedisClient rc = new RedisClient(host, port);
            if (!string.IsNullOrWhiteSpace(password))
            {
                rc.Password = password;
            }
            
            return   rc.Remove(key);
        }
    }

4、调用方式

1、获取:RedisUtil.GetRedis("key的名字")

2、存储:RedisUtil.SetRedis("key", value, 时效);




 推荐知识

 历史版本

修改日期 修改人 备注
2019-12-28 13:39:39[当前版本] 朱凡 修改标题
2019-12-28 13:38:41 朱凡 创建版本

 附件

附件类型

PNGPNG

  目录
    知识分享平台 -V 4.8.7 -wcp