[請益] Array 有大小限制嗎?

看板PHP作者 (煉)時間12年前 (2013/10/11 12:04), 編輯推噓4(4038)
留言42則, 8人參與, 最新討論串1/1
有個新功能、因為有換頁 必須去紀錄 使用者 點擊的 Checkbox 但是使用者可能會超過 65535 想請問一下版上大大 不知道 PHP Array 是否有大小限制 內容很簡單 只是記錄使用者的點擊紀錄而已 ex : CheckboxArray = array("id1","id2"....); -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.142.56.250

10/11 12:05, , 1F
如果會的話、只好在 mysql 紀錄了>"<
10/11 12:05, 1F

10/11 12:09, , 2F
就算沒限制 換頁的時候你要怎麼把這個array帶過去
10/11 12:09, 2F

10/11 12:19, , 3F
換頁要塞session才有可能吧 不過這麼大的東西放session
10/11 12:19, 3F

10/11 12:19, , 4F
想記憶體+處理時間爆炸的話就試吧XD
10/11 12:19, 4F

10/11 14:02, , 5F
redis
10/11 14:02, 5F

10/11 14:58, , 6F
你看一下fb原始碼,應該有超過這數字
10/11 14:58, 6F

10/11 16:07, , 7F
我該說大型網站的PHP都用memcache來存暫時資料嗎OwO?
10/11 16:07, 7F

10/11 16:48, , 8F
樓上大大可以分享一下這種技術嗎?
10/11 16:48, 8F

10/11 17:40, , 9F
除非網站規模真的很大或IO很重 不然根本沒用的必要030
10/11 17:40, 9F

10/11 17:41, , 10F
至於這邊還是好好回一下原PO好了
10/11 17:41, 10F

10/11 17:41, , 11F
塞PHP內的array再去用SESSION跨頁傳沒任何問題
10/11 17:41, 11F

10/11 17:41, , 12F
不過只能說通常沒這種必要 畢竟你只是做紀錄
10/11 17:41, 12F

10/11 17:42, , 13F
難道每一頁都需要去分析紀錄?
10/11 17:42, 13F

10/11 17:43, , 14F
畢竟PHP預設的file session是在執行階段會把全部內容
10/11 17:43, 14F

10/11 17:43, , 15F
給讀出來 這對記憶體使用負擔很大
10/11 17:43, 15F

10/11 17:44, , 16F
如果真的是每頁都要去分析的話...(實在想不到這種需求)
10/11 17:44, 16F

10/11 17:45, , 17F
就像上面alpe的簡短推文一樣 用redis去存
10/11 17:45, 17F

10/11 17:45, , 18F
不過沒需要都去分析的話還是塞資料庫吧
10/11 17:45, 18F

10/11 17:46, , 19F
但是如果資料庫本身忙翻了可能還是放redis之類比較好XD
10/11 17:46, 19F

10/11 17:47, , 20F
至於原問題... index要多大有多大 只要記憶體塞得下就行
10/11 17:47, 20F

10/11 17:48, , 21F
不過那麼大的array效率可能也是個問題XD
10/11 17:48, 21F

10/11 17:49, , 22F
對了 說一下吧 其實PHP的Array並不是實質意義的Array
10/11 17:49, 22F

10/11 17:49, , 23F
正確來說它是個Hash Table所以Key是沒Size問題的
10/11 17:49, 23F

10/11 17:50, , 24F
因為它的Key並不是拿個short來存之類的
10/11 17:50, 24F

10/11 17:50, , 25F
可以是任意的東西 自然沒有key上的限制
10/11 17:50, 25F

10/11 17:56, , 26F
說任意東西也不大對XD PHP的key可以是數字或字串www
10/11 17:56, 26F

10/11 18:21, , 27F
等一下我有問題 到底是checkbox數會超過65535還是使用者
10/11 18:21, 27F

10/11 18:21, , 28F
數量超過65535
10/11 18:21, 28F

10/11 18:22, , 29F
如果是使用者數量超過 阿你65535個使用者會同時登入並且
10/11 18:22, 29F

10/11 18:22, , 30F
擠在同一個session?又不是金龜車塞人大賽
10/11 18:22, 30F

10/11 18:23, , 31F
如果是使用者很多個當然是用資料庫 有什麼別的作法
10/11 18:23, 31F

10/11 18:24, , 32F
這根本假議題 >:(
10/11 18:24, 32F

10/11 18:24, , 33F
no-sql表示
10/11 18:24, 33F

10/11 22:29, , 34F
什麼替代方法也好,總之根本就不是陣列可以到多大的問題
10/11 22:29, 34F

10/11 22:56, , 35F
看了看... 可能是有功能需要列出全部的使用者
10/11 22:56, 35F

10/11 22:56, , 36F
用checkbox來選需要哪些使用者之類的?
10/11 22:56, 36F

10/11 22:57, , 37F
不過要是這種狀況不管怎想 用select比較好吧?
10/11 22:57, 37F

10/12 00:08, , 38F
65535個checkbox 天啊這個admin一定會很恨你 XD
10/12 00:08, 38F

10/12 15:21, , 39F
看到這個我也是第一個想到no-sql
10/12 15:21, 39F

10/15 17:57, , 40F
你從fql看就大概可以知道fb一定有no-sql的存取機制
10/15 17:57, 40F

10/15 17:58, , 41F
而且只要有硬碟就能解決,萬筆nested根本挖鼻孔就寫出來
10/15 17:58, 41F

10/20 21:31, , 42F
mongodb
10/20 21:31, 42F
文章代碼(AID): #1ILtZg62 (PHP)
文章代碼(AID): #1ILtZg62 (PHP)