博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis的应用场景
阅读量:5945 次
发布时间:2019-06-19

本文共 2518 字,大约阅读时间需要 8 分钟。

最近做了个小项目是WebForm 做着做着发现前台的首页读取速度很慢,并且多个用户同时访问我的Sqlserver承受不住!之后就想到了Redis

代码如下:

///         /// 缓冲技术 突破数据库速度        ///         protected void Page_Load(object sender, EventArgs e)        {            //Radis缓冲处理            var ser = new ObjectSerializer();            RedisClient redis = new RedisClient("127.0.0.1", 6379);            if (ser.Deserialize(redis.Get
("Banner")) == null)//证明过期 { redis.Set
("ShowNewPhone", ser.Serialize(GoodsManager.GetNewPhone()), DateTime.Now.AddMinutes(1)); rpt_ShowNewPhone.DataSource = ser.Deserialize(redis.Get
("ShowNewPhone")) as List
; rpt_ShowNewPhone.DataBind(); redis.Set
("T1", ser.Serialize(AdvertManager.GetList("1")), DateTime.Now.AddMinutes(1)); advert_01.DataSource = ser.Deserialize(redis.Get
("T1")) as List
; advert_01.DataBind(); redis.Set
("T2", ser.Serialize(AdvertManager.GetList("2")), DateTime.Now.AddMinutes(1)); friend.DataSource = ser.Deserialize(redis.Get
("T2")) as List
; friend.DataBind(); redis.Set
("video", ser.Serialize(VideoTalManager.GetList()), DateTime.Now.AddMinutes(1)); dongtai.DataSource = ser.Deserialize(redis.Get
("video")) as List
; dongtai.DataBind(); redis.Set
("BannerList", ser.Serialize(BannerManager.GetList()), DateTime.Now.AddMinutes(1)); banner_rpt.DataSource = ser.Deserialize(redis.Get
("BannerList")) as List
; banner_rpt.DataBind(); } else { rpt_ShowNewPhone.DataSource = ser.Deserialize(redis.Get
("ShowNewPhone")) as List
; rpt_ShowNewPhone.DataBind(); advert_01.DataSource = ser.Deserialize(redis.Get
("T1")) as List
; advert_01.DataBind(); friend.DataSource = ser.Deserialize(redis.Get
("T2")) as List
; friend.DataBind(); dongtai.DataSource = ser.Deserialize(redis.Get
("video")) as List
; dongtai.DataBind(); banner_rpt.DataSource = ser.Deserialize(redis.Get
("BannerList")) as List
; banner_rpt.DataBind(); }

解读:

  •       1.设置过期时间是为了防止项目更新无效,如果不在设置过期时间,你将要在后台操作前台数据的时候更新redis数据.
  •       2.每过60秒(或者更多)就会有一个用户去DB的数据搬到Redis中给其他用户使用(每N秒有一个小白鼠)

Redis的优点:

  • 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。
  • 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
  • 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
  • 多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。

转载于:https://www.cnblogs.com/ZaraNet/p/9552125.html

你可能感兴趣的文章
后台进程管理工具---supervisor
查看>>
Zen Coding 让 Notepad++ 代码书写健步如飞
查看>>
Ubuntu安装deb时错误:“dpkg:错误:另外一个进程已经为 dpkg 状态数据库 加锁”解决...
查看>>
android签名机制
查看>>
Redis 安装与简单示例 <第一篇>
查看>>
Android开源git40个App源代码
查看>>
Oracle 物理和逻辑备库健康监測的一个根据
查看>>
织梦首页、列表页调用文章body内容的两种方法
查看>>
Codeforces Round #277 (Div. 2)D(树形DP计数类)
查看>>
openstack中虚拟机怎么与物理机通信
查看>>
实例具体解释:反编译Android APK,改动字节码后再回编译成APK
查看>>
DEDECMS点击主栏目默认显示第一个子栏目列表的方法
查看>>
相关系数图可视化
查看>>
python-ConfigParser模块【读写配置文件】
查看>>
Gym 100952E&&2015 HIAST Collegiate Programming Contest E. Arrange Teams【DFS+剪枝】
查看>>
dubbo搭建例子
查看>>
给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...
查看>>
SQL Server 并行操作优化,避免并行操作被抑制而影响SQL的执行效率
查看>>
ActiveMQ 基于zookeeper的主从(levelDB Master/Slave)搭建以及Spring-boot下使用
查看>>
三种方法解决 Failed to start LSB: Bring up/down networking 问题
查看>>