对于代码高亮处理,是在写入数据库前处理呢,还是不写入数据库,读出后,再处理发到前端?
请指点。
回复内容:
对于代码高亮处理,是在写入数据库前处理呢,还是不写入数据库,读出后,再处理发到前端?
请指点。
推荐你读出来处理,数据库里面只需要记录原始数据即可。
代码高亮本质上属于表现层应该处理的内容,只有里面的代码段才应该放到持久层。
一般的,您的一段文字、一段代码,应该怎么显示啊?到底应该用什么字体啊?这些都应该是表现层的事儿。
既然有一般情况,当然就有特殊情况,比如那些富文本编辑器,就会把用户编辑的样式的都存储到数据库中。
比如 SF 只保存原始内容(我喜欢这种方式,我的博客也是),然后把内容读出来进行统一的显示。做到了内容和展示相分离。
至于QQ空间、博客、论坛,一般会把css连同html以前保存到数据库中,给了编辑者足够的灵活性,可以编写各种各样的东东,比如亮瞎眼球的文字闪烁等。
我倾向于数据库中只记录内容。
一般是在前端处理吧,比如segmentfault用了开源的highlight.js
看了题主的意思是铁了心准备放在后端做了。
很显然,写入数据库前处理呢,性能更好,因为不用每次读出都进行高亮处理,只用写入时一次性处理。
不写入数据库,读出时再处理的话,更优雅。因为数据库里只应该记录内容;存储和高亮应该正交地分离。这样也有利于将来的维护和修改。
用Google的Prettify.js使代码高亮

負載均衡會影響會話管理,但可以通過會話複製、會話粘性和集中式會話存儲解決。 1.會話複製在服務器間複製會話數據。 2.會話粘性將用戶請求定向到同一服務器。 3.集中式會話存儲使用獨立服務器如Redis存儲會話數據,確保數據共享。

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHP會話的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。 1.Cookies通過在客戶端存儲數據來管理會話,簡單但安全性低。 2.Token-basedAuthentication使用令牌驗證用戶,安全性高但需額外邏輯。 3.Database-basedSessions將數據存儲在數據庫中,擴展性好但可能影響性能。 4.Redis/Memcached使用分佈式緩存提高性能和擴展性,但需額外配

Sessionhijacking是指攻擊者通過獲取用戶的sessionID來冒充用戶。防範方法包括:1)使用HTTPS加密通信;2)驗證sessionID的來源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

本文比較了PHP和ASP.NET,重點是它們對大規模Web應用程序,性能差異和安全功能的適用性。兩者對於大型項目都是可行的,但是PHP是開源和無關的,而ASP.NET,


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

Dreamweaver CS6
視覺化網頁開發工具