我的ORM之十一 快取

2022-01-13 22:13:14 字數 2825 閱讀 1884

我的orm索引

對某乙個查詢頻繁重複,應該使用快取。

快取應該是可以配置。

web.config:

<

configuration

>

<

configsections

>

<

section

name

="myoql"

type

="myoql.myoqlconfigsect,myoql"

/>

configsections

>

<

myoql

configsource

="myoql.config"

/>

configuration

>

myoql.config:

<

myoql

>

<

entitys

db="dbo"

cachetime

="0"

cachesqltime

="0"

maxcachetime

="43200"

oraclepkg

="pkg"

owner

="dbo"

>

<

group

name

="本地快取"

cachetype

="local"

cachesqltime

="3600"

cachetime

="3600"

>

<

entity

name

="s_menu"

usepower

="="

/>

<

entity

name

="p_carinfo"

/>

group

>

entitys

>

<

dbproviders

>

<

provider

name

="sqlserver"

type

="myoql.provider.sqlserver,myoql"

/>

<

provider

name

="mysql"

type

="myoql.provider.mysql,myoql.mysql"

/>

<

provider

name

="oracle"

type

="myoql.provider.oracle,myoql.oracleprovider"

/>

dbproviders

>

myoql

>

db:  指定資料庫配置項

owner:  指定資料庫字首

name:  資料庫表名,檢視名,儲存過程名。

cachetime:  單錶按主鍵、唯一鍵、自增鍵查詢快取時間。單位 秒

cachesqltime:  按除 cachetime 之外的情況下,快取時間。如果有多個表,按配置項最小的快取時間。 單位 秒

toshadow:  配置是否轉存到影子庫,當物理刪除的時候,可以把資料轉存到影子庫。布林值

maxcachetime:   如果最初快取時間到現在超過最大快取時間,則強制失效。單位 秒

cachetype:  指定快取伺服器。

usepower:  許可權型別,單字元表示乙個許可權,可選型別: crud= ~*  

其中:c 表示 create,r 表示read,u表示update,d表示delete。

= 表示是否啟用行集許可權.

~ 表示自定義過濾。

* 是所有許可權

true 表示所有許可權

false 表示沒有任何許可權

filter:  在 usepower = "~" 時, filter 表示傳遞給自定義過濾的 關鍵字

type:  表示表的型別, 如: corp 表示是公司表。可以動態對該錶進行分庫。 

log:  可選值,單個字元表示乙個myoql操作型別的日誌, crud=*

oraclepkg:  oracle儲存過程包名。

資料庫中的資料,可以分為:
如果有多個應用,這種場景更明顯。

穩定資料,是相對的,穩定資料也有被更新的時候,用以下辦法破壞它。

myoqlcache是以windows服務形式,提供基於 tcp 協議的 wcf 服務 ,安裝步驟:

1. 編譯 dbent

2. 編譯 myoqlcache,如果出錯,請檢查 dll 檔案路徑。

3. 執行 myoqlcache\安裝.bat

所謂術業有專攻,nosql和rmdb不在乙個層次上,無法替換。使用 nosql 做為快取項,或是儲存中間計算結果倒是很合適。

rmdb大都是基於磁碟檔案的,nosql大都是基於記憶體的。能和nosql比效能的,應該是 記憶體資料庫!

目前快取中心使用的是 system.runtime.cache 儲存快取項。如果想使用 nosql ,需要:

1. 開啟 myoqlcache 專案,開啟 myoqlcache.cs ,找到 dbo.cacheinstance 

2. 仿照 myoqlhttpcachedefaultinstance 重新乙個類,並賦值給 dbo.cacheinstance 即可。

Beego脫坑(十一) ORM之建立表

beego orm 是乙個強大的 go 語言 orm 框架.已支援資料庫驅動 當我們使用orm運算元據庫時,必須要匯入資料庫驅動,如mysql orm 特性 支援 go 的所有型別儲存 輕鬆上手,採用簡單的 crud 風格 自動 join 關聯表 跨資料庫相容查詢 允許直接使用 sql 查詢 對映 ...

orm框架與快取的關係

1.mybatis規定,一級快取沒必要bean類實現序列化,但二級快取bean類必須實現序列化。因為二級快取是基於namespace的也就是基於介面的,二級快取可以設定儲存源,可以是redis或者memcache。要設定網路其他地方儲存,當然要對傳輸物件bean序列化啊。所以這也要求開啟二級快取,必...

orm框架與快取的關係

1.mybatis規定,一級快取沒必要bean類實現序列化,但二級快取bean類必須實現序列化。因為二級快取是基於namespace的也就是基於介面的,二級快取可以設定儲存源,可以是redis或者memcache。要設定網路其他地方儲存,當然要對傳輸物件bean序列化啊。所以這也要求開啟二級快取,必...