當前位置:首頁 » 文件管理 » onethink緩存

onethink緩存

發布時間: 2022-10-14 21:29:58

❶ thinkphp onethink文件目錄說明

Application
├─Common 應用公共模塊
│ ├─Common 應用公共函數目錄
│ └─Conf 應用公共配置文件目錄
├─Home 默認生成的Home模塊
│ ├─Conf 模塊配置文件目錄
│ ├─Common 模塊函數公共目錄
│ ├─Controller 模塊控制器目錄
│ ├─Model 模塊模型目錄
│ └─View 模塊視圖文件目錄
├─Runtime 運行時目錄
│ ├─Cache 模版緩存目錄
│ ├─Data 數據目錄
│ ├─Logs 日誌目錄
│ └─Temp 緩存目錄

❷ THINKPHP咋樣生成文件,例如後台功能要生成配置文件等

使用F方法

F方法的特點是:
簡單數據緩存;
文件形式保存;
採用PHP返回數據方式載入緩存;
支持子目錄緩存以及自動創建;
支持刪除緩存和批量刪除;

寫入和讀取緩存

F('data','testdata');

默認的保存起始路徑是DATA_PATH(該常量在默認配置位於RUNTIME_PATH.'Data/'下面),也就是說會生成文件名為DATA_PATH.'data.php'的緩存文件。
注意:確保你的緩存標識的唯一,避免數據覆蓋和沖突。
下次讀取緩存數據的時候,使用:

$Data=F('data');

我們可以採用子目錄方式保存,例如:

F('user/data',$data);//緩存寫入
F('user/data');//讀取緩存

就會生成DATA_PATH.'user/data.php' 緩存文件,如果user子目錄不存在的話,則會自動創建,也可以支持多級子目錄,例如:

F('level1/level2/data',$data);

如果需要指定緩存的起始目錄,可以用下面的方式:

F('data',$data,TEMP_PATH);

獲取的時候則需要使用:

F('data','',TEMP_PATH);

刪除緩存

刪除緩存也很簡單,使用:

F('data',NULL);

第二個參數傳入NULL,則表示刪除標識為data的數據緩存。
支持批量刪除功能,尤其是針對子目錄緩存的情況,假設我們要刪除user子目錄下面的所有緩存數據,可以使用:

F('user/*',NULL);

又或者使用過濾條件刪除,例如:

F('user/[^a]*',NULL);

❸ onethink的資料庫配置文件在哪個路徑下

一般分為windows和linux

windows通常放在安裝目錄下的 \Mysql\MySQL Server 5.0\my.ini

Linux 默認是放在 /etc/my.cnf

以下是my.cnf配置文件參數解釋:
[client]
port = 3309
socket = /home/mysql/mysql/tmp/mysql.sock
[mysqld]
!include /home/mysql/mysql/etc/mysqld.cnf #包含的配置文件 ,把用戶名,密碼文件單獨存放
port = 3309
socket = /home/mysql/mysql/tmp/mysql.sock
pid-file = /longxibendi/mysql/mysql/var/mysql.pid
basedir = /home/mysql/mysql/
datadir = /longxibendi/mysql/mysql/var/
# tmp dir settings
tmpdir = /home/mysql/mysql/tmp/
slave-load-tmpdir = /home/mysql/mysql/tmp/
#當slave 執行 load data infile 時用
#language = /home/mysql/mysql/share/mysql/english/
character-sets-dir = /home/mysql/mysql/share/mysql/charsets/
# skip options
skip-name-resolve #grant 時,必須使用ip不能使用主機名
skip-symbolic-links #不能使用連接文件
skip-external-locking #不使用系統鎖定,要使用myisamchk,必須關閉伺服器
skip-slave-start #啟動mysql,不啟動復制
#sysdate-is-now
# res settings
back_log = 50 #接受隊列,對於沒建立tcp連接的請求隊列放入緩存中,隊列大小為back_log,受限制與OS參數
max_connections = 1000 #最大並發連接數 ,增大該值需要相應增加允許打開的文件描述符數
max_connect_errors = 10000 #如果某個用戶發起的連接error超過該數值,則該用戶的下次連接將被阻塞,直到管理員執行flush hosts ; 命令;防止黑客
#open_files_limit = 10240
connect-timeout = 10 #連接超時之前的最大秒數,在Linux平台上,該超時也用作等待伺服器首次回應的時間
wait-timeout = 28800 #等待關閉連接的時間
interactive-timeout = 28800 #關閉連接之前,允許interactive_timeout(取代了wait_timeout)秒的不活動時間。客戶端的會話wait_timeout變數被設為會話interactive_timeout變數的值。
slave-net-timeout = 600 #從伺服器也能夠處理網路連接中斷。但是,只有從伺服器超過slave_net_timeout秒沒有從主伺服器收到數據才通知網路中斷
net_read_timeout = 30 #從伺服器讀取信息的超時
net_write_timeout = 60 #從伺服器寫入信息的超時
net_retry_count = 10 #如果某個通信埠的讀操作中斷了,在放棄前重試多次
net_buffer_length = 16384 #包消息緩沖區初始化為net_buffer_length位元組,但需要時可以增長到max_allowed_packet位元組
max_allowed_packet = 64M #
#table_cache = 512 #所有線程打開的表的數目。增大該值可以增加mysqld需要的文件描述符的數量
thread_stack = 192K #每個線程的堆棧大小
thread_cache_size = 20 #線程緩存
thread_concurrency = 8 #同時運行的線程的數據 此處最好為CPU個數兩倍。本機配置為CPU的個數
# qcache settings
query_cache_size = 256M #查詢緩存大小
query_cache_limit = 2M #不緩存查詢大於該值的結果
query_cache_min_res_unit = 2K #查詢緩存分配的最小塊大小
# default settings
# time zone
default-time-zone = system #伺服器時區
character-set-server = utf8 #server級別字元集
default-storage-engine = InnoDB #默認存儲
# tmp & heap
tmp_table_size = 512M #臨時表大小,如果超過該值,則結果放到磁碟中
max_heap_table_size = 512M #該變數設置MEMORY (HEAP)表可以增長到的最大空間大小
log-bin = mysql-bin #這些路徑相對於datadir
log-bin-index = mysql-bin.index
relayrelay-log = relay-log
relayrelay_log_index = relay-log.index
# warning & error log
log-warnings = 1
log-error = /home/mysql/mysql/log/mysql.err
log_output = FILE #參數log_output指定了慢查詢輸出的格式,默認為FILE,你可以將它設為TABLE,然後就可以查詢mysql架構下的slow_log表了
# slow query log
slow_query_log = 1
long-query-time = 1 #慢查詢時間 超過1秒則為慢查詢
slow_query_log_file = /home/mysql/mysql/log/slow.log
#log-queries-not-using-indexes
#log-slow-slave-statements
general_log = 1
general_log_file = /home/mysql/mysql/log/mysql.log
max_binlog_size = 1G
max_relay_log_size = 1G
# if use auto-ex, set to 0
relay-log-purge = 1 #當不用中繼日誌時,刪除他們。這個操作有SQL線程完成
# max binlog keeps days
expire_logs_days = 30 #超過30天的binlog刪除
binlog_cache_size = 1M #session級別
# replication
replicate-wild-ignore-table = mysql.% #復制時忽略資料庫及表
replicate-wild-ignore-table = test.% #復制時忽略資料庫及表
# slave_skip_errors=all
key_buffer_size = 256M #myisam索引buffer,只有key沒有data
sort_buffer_size = 2M #排序buffer大小;線程級別
read_buffer_size = 2M #以全表掃描(Sequential Scan)方式掃描數據的buffer大小 ;線程級別
join_buffer_size = 8M # join buffer 大小;線程級別
read_rnd_buffer_size = 8M #MyISAM以索引掃描(Random Scan)方式掃描數據的buffer大小 ;線程級別
bulk_insert_buffer_size = 64M #MyISAM 用在塊插入優化中的樹緩沖區的大小。注釋:這是一個per thread的限制
myisam_sort_buffer_size = 64M #MyISAM 設置恢復表之時使用的緩沖區的尺寸,當在REPAIR TABLE或用CREATE INDEX創建索引或ALTER TABLE過程中排序 MyISAM索引分配的緩沖區
myisam_max_sort_file_size = 10G #MyISAM 如果臨時文件會變得超過索引,不要使用快速排序索引方法來創建一個索引。注釋:這個參數以位元組的形式給出.重建MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA INFILE過程中)時,允許MySQL使用的臨時文件的最大空間大小。如果文件的大小超過該值,則使用鍵值緩存創建索引,要慢得多。該值的單位為位元組
myisam_repair_threads = 1 #如果該值大於1,在Repair by sorting過程中並行創建MyISAM表索引(每個索引在自己的線程內)
myisam_recover = 64K#允許的GROUP_CONCAT()函數結果的最大長度
transaction_isolation = REPEATABLE-READ
innodb_file_per_table
#innodb_status_file = 1
#innodb_open_files = 2048
innodb_additional_mem_pool_size = 100M #幀緩存的控制對象需要從此處申請緩存,所以該值與innodb_buffer_pool對應
innodb_buffer_pool_size = 2G #包括數據頁、索引頁、插入緩存、鎖信息、自適應哈希所以、數據字典信息
innodb_data_home_dir = /longxibendi/mysql/mysql/var/
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend #表空間
innodb_file_io_threads = 4 #io線程數
innodb_thread_concurrency = 16 #InnoDB試著在InnoDB內保持操作系統線程的數量少於或等於這個參數給出的限制
innodb_flush_log_at_trx_commit = 1 #每次commit 日誌緩存中的數據刷到磁碟中
innodb_log_buffer_size = 8M #事物日誌緩存
innodb_log_file_size = 500M #事物日誌大小
#innodb_log_file_size =100M
innodb_log_files_in_group = 2 #兩組事物日誌
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日誌組
innodb_max_dirty_pages_pct = 90 #innodb主線程刷新緩存池中的數據,使臟數據比例小於90%
innodb_lock_wait_timeout = 50 #InnoDB事務在被回滾之前可以等待一個鎖定的超時秒數。InnoDB在它自己的 鎖定表中自動檢測事務死鎖並且回滾事務。InnoDB用LOCK TABLES語句注意到鎖定設置。默認值是50秒
#innodb_flush_method = O_DSYNC
[mysqlmp]
quick
max_allowed_packet = 64M
[mysql]
disable-auto-rehash #允許通過TAB鍵提示
default-character-set = utf8
connect-timeout = 3

❹ onethink怎麼關閉緩存

不確定正確性,但是確實可行,讀取緩存後賦值到數組,通過array_slice函數處理,如:
$blog = S('blogname'); //賦值
$count = count($blog); //條數統計
$page = new Page($count,12); //實例化page類
$this -> Blog = array_slice($blog,$page->firstRow,$page->listRows); //分配到模板
$this -> page = $page -> show();
$this -> display();

❺ onethink怎麼關閉緩存

debug.php中
'TMPL_CACHE_ON'=>false, // 默認開啟模板緩存

convention.php中
TMPL_CACHE_ON' => false, // 默認開啟模板編譯緩存 false 的話每次都重新編譯模板
'HTML_CACHE_ON' => false, // 默認關閉靜態緩存

❻ thinkphp主要有什麼用

其實thinkphp是國內自主開發的一款MVC框架,早期是從onethink開始升級而來的。這個框架的話是很符合國人的使用習慣和思維,是作為PHP開發的首要入門級框架,這個框架簡單易用,所以很受企業的歡迎。

接下來回答樓主的答案:

  1. thinkphp既然是一個php的MVC框架,那肯定就是用來快速開發用的,可以用來開發任意一款PHP相關的編碼系統,無論是商城、管理系統還是搭建博客系統等任意系統。

  2. 其次是主要應用在哪個方面比較好,就我目前在企業開發過程中,其實主要應用在企業類、學校類、新聞類系統的開發比較多。其次是開發商城也比較多。主要是開發方便快捷,懂的人多所被接受。

希望我的回答可以幫到你,有什麼不懂可以追問。

❼ onethink的C方法是怎麼獲取config表中的數據項的

應該前面資料庫查詢後直接用C方法緩存起來了,然後後面C方法就能直接調用了。

❽ onethink 列表定義怎麼寫

請注意 我是問的onethink 很糾結,C方法沒有執行資料庫查詢操作,但是他...
答:應該前面資料庫查詢後直接用C方法緩存起來了,然後後面C方法就能直接調用了。

熱點內容
在團競模式中怎麼重置配置 發布:2024-10-08 02:12:54 瀏覽:288
寶馬遠程伺服器如何啟用 發布:2024-10-08 02:02:57 瀏覽:391
c語言freadfwrite 發布:2024-10-08 02:01:15 瀏覽:854
腳本還不簡單嗎 發布:2024-10-08 01:54:43 瀏覽:423
安卓手機如何像平板一樣橫屏 發布:2024-10-08 01:33:26 瀏覽:509
wapi認證伺服器ip 發布:2024-10-08 01:33:24 瀏覽:506
centos自帶python 發布:2024-10-08 00:53:31 瀏覽:340
android串口調試助手 發布:2024-10-08 00:45:03 瀏覽:405
sqlserver2008亂碼 發布:2024-10-08 00:39:59 瀏覽:220
華為電腦伺服器系統進不去提示 發布:2024-10-08 00:13:42 瀏覽:492