数据存储于内存实例

经常访问的表数据存入内存的代码示例,此代码只有在第一次使用ProductList时才会加载数据,

然后一直存储于内存中,想更新缓存数据只有重启网站或IIS且使用该变量时才会更新数据,所以适用于数据更新频率不高的数据存储。

private static readonly object _objProductList = new object();

private static List<ENT_TM_ThreeMProduct> _productList;

public List<ENT_TM_ThreeMProduct> ProductList
        {
            get
            {
                if (_productList == null)
                {
                    lock (_objProductList)
                    {
                        //防止多个线程并发读取数据时多次访问数据库表
                        if (_productList == null)
                        {
                            using (ProductEntityContext context = new ProductEntityContext())
                            {
                                _productList = context.ENT_TM_ThreeMProduct.ToList();
                            }
                        }
                    }
                }
                return _productList;
            }
        }

时间: 2024-10-01 04:28:51

数据存储于内存实例的相关文章

Go Web:数据存储(1)——内存存储

数据可以存储在内存中.文件中.按二进制序列化存储的文件中.数据库中等. 内存存储 将数据存储到内存中.此处所指的内存是指应用程序自身的内存空间(如slice.array.map.struct.队列.树等等容器),而不是外部的内存数据库(如redis). 例如,要存储博客文章. 每篇博客文章都有文章ID.文章内容以及文章作者.假设它是一个struct结构: type Post struct { Id int Content string Author string } 为了在内存中存储每一篇Pos

ArcEngine临时数据存储 创建内存工作空间

参考网址,这里 工作中有时候需要使用临时数据,以前都是创建一个默认的shapefile或者gdb,今天发现esri官方帮助文档给出了一个方法,可以创建内存工作空间,代码如下: public static IWorkspace CreateInMemoryWorkspace() { // Create an in-memory workspace factory. Type factoryType = Type.GetTypeFromProgID( "esriDataSourcesGDB.InMe

大数据量数据存储分表实例(企业级应用系统)附原码

随着数据不断增长,数据库中单表无法满足大数据量的存储,所以我们就提出按照自然时间.单站点信息分表来存储大量秒级数据. 例如:大气.水利.交通(GPS)信息监测系统中的实时数据进行存储,一般时按照开始时间.结束时间.单站点.多站点.监测项目等方式进行数据查询.分析.图表. 如 按5分钟单站点的数据12*24(小时)*365(天)*(监测项)10=100W ,也就是一个站点一年数据量 100w条,100站*100W =1亿条这样的数据是无法满足快速查询. 所以我们就按照 "tb_5M_年_站号&qu

java-项目加载时将数据存储到内存中

1.获取数据库数据并存储在Map对象中 package com.demo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Se

MongoDB 数据存储引擎

存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引擎(Storage Engine),MongoDB支持的存储引擎有:WiredTiger,MMAPv1和In-Memory. 从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine,用于将数据持久化存储到硬盘文件中,WiredTiger提供文档级别

Zookeeper系列六:服务器角色、序列化与通信协议、数据存储

一.服务器角色 1. Leader 1)事务请求的唯一调度者和处理者.保证事务处理的顺序性 事务请求:导致数据一致性的请求(数据发生改变).如删除一个节点.创建一个节点.设置节点数据,设置节点权限就是一个事物请求,全局的事物id(zxid)只能由leader来分配 2)集群内部个服务器之间的调度者 2. Follower 1)处理客户端的非事务请求.事务请求必须转发给Leader服务器. 非事物请求:读取数据2)参与事务请求Proposal(议案)的投票3)参与Leader选举 3. Obser

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

Android 数据存储——SQLite实例、判断数据库中表是否存在

本文主要记录一下Android SQLiteDatabase中如何判断数据库中表是否存在,以及测试SQLiteDatabase数据库的基本操作.有关SQLite的详细说明,可以查看转载的Android 数据存储--SQLite使用详解 例子: AndroidManifest.xml--没有做任何修改,创建工程默认 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="

Redis数据存储解决方案

1.背景1.1 Redis简介 官方网站:http://redis.io/,Redis是REmote DIctionary Server的缩写. Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.它跟 memcached 类似,不过数据可以持久化,而且支持的数据类型很丰富.它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点.从而