A. redis 和 java map的區別
1、大的方向,redis是內存資料庫,獨立進程;map是java的數據類型
2、redis支持五種數據類型:string,list,hash(字典),set(集合),zset(有序集合)。java map和redis的hash對應,當然各自包含的方法不同
3、redis可以做主存,也可做緩存。
B. 為什麼redis在java是同步緩存,而在nodejs是非同步緩存
JAVASCRIPT中是沒有多線程的,所有涉及外部IO的全部都是回調。
這樣的好處是JS天然就是一個不會阻塞的系統,這也是NODEJS現在作為前後端黏合層的原因。
C. 面試官要求我研究一個Java緩存框架,哪個比較好
緩存框架有ehcache、redis、memcached
現在大公司用的比較多的是memcached和redis,這也是分布式系統開發中常用的緩存中間件
個人比較推薦用redis,因為redis對於可支持的數據類型比memcached要多,而且redis是一個可持久化的緩存框架,在使用的時候還可以嘗試搭建redis集群環境。
如果你對redis深入研究,相信你的面試官會很樂意要你的。
D. java web開發緩存方案,ehcache和redis有什麼特點
在java項目廣泛的使用。它是一個開源的、設計於提高在數據從RDBMS中取出來的高花費、高延遲採取的一種緩存方案。正因為Ehcache具有健壯性(基於java開發)、被認證(具有apache 2.0 license)、充滿特色(稍後會詳細介紹),所以被用於大型復雜分布式web application的各個節點中。
具體如下:
1. 夠快
Ehcache的發行有一段時長了,經過幾年的努力和不計其數的性能測試,Ehcache終被設計於large, high concurrency systems.
2. 夠簡單
開發者提供的介面非常簡單明了,從Ehcache的搭建到運用運行僅僅需要的是你寶貴的幾分鍾。其實很多開發者都不知道自己用在用Ehcache,Ehcache被廣泛的運用於其他的開源項目
E. java 為什麼可以用 redis 做緩存
redis可以作為很多開發語言的緩存伺服器,redis提供了jedis這樣的包,支持的很好。
不過我覺得你這個問題還是問的不太好或者沒有表達出你的意思。
F. java web開發緩存方案,ehcache和redis哪個更好
其實沒有好與不好的絕對
給你知乎上的介紹:
ehcache直接在jvm虛擬機中緩存,速度快,效率高;但是緩存共享麻煩,集群分布式應用不方便。
redis是通過socket訪問到緩存服務,效率比ecache低,比資料庫要快很多,處理集群和分布式緩存方便,有成熟的方案。
如果是單個應用或者對緩存訪問要求很高的應用,用ehcache。
如果是大型系統,存在緩存共享、分布式部署、緩存內容很大的,建議用redis。
補充下:ehcache也有緩存共享方案,不過是通過RMI或者Jgroup多播方式進行廣播緩存通知更新,緩存共享復雜,維護不方便;簡單的共享可以,但是涉及到緩存恢復,大數據緩存,則不合適。
G. java作緩存時,緩存進內存還是用redis好
如果數據比較小,並且不會大量並發存儲 可以選擇存在內存, 否則 當然選用存儲服務來進行存儲。 沒有什麼是一定好的,根據實際情況選擇技術。
H. 總是聽說很多javaweb系統用redis或memcache做緩存,具體怎麼操作的
其實就相當於在應用程序和資料庫之間開了一塊內存區域,將一些高頻訪問的數據放在其中,避免每次都請求資料庫。至於之所以用memcached和redis,而不是自己在程序里開個hashmap,是因為這塊區域可以共享且容易管理,在集群環境下更方便使用。
有些做法是直接將數據序列化後存在redis的string或是memcached中,也有些其他做法是利用redis特有的數據結構存儲一些關系,例如用sorted set存排行榜,string用來計數,set做一些倒排索引、用戶好友關系之類的。我覺得這些都可以稱之為緩存。
I. 關於redis的list類型和Java的list類型怎麼比較
redis有介面,各種數據結構的讀寫都有,你要查查,
其實沒必要整個列表進行讀寫,如果非要那樣,可以把列表轉成一個字元串當普通鍵值對存