redis+node.js
1.什么的cache
是一种更快的记忆存储数据集
存储空间有限
储存一部分重要数据
是一种相对的概念,只要比原本数据存储更快的介质就能作为cache
2.caching 策略
有限的存储空间,只能存储部分常用数据
FIFO
LRU
LFU
Time_based expriation 没隔一段时间数据更新,不至于落后太多
3.什么是redis
是一种开源的内存中数据存储,可以当作内存数据库,cache,message queue
4.支持的数据结构
基本上是strings
lists
sets
sorted sets
hashes( as map)
bitmap
hyperloglog
5.支持api
create read update delete TTL
语法:
set a test
get a
setex a 5 test 5秒后清除
lpush a a1 a2 a3
lpop a ==> a1
lpop a ==> a2
lpop a ==> a3
publish message 1
subscribe message ==>1
6.用途
LRU cache
非至关紧要的信息队列message queue(kafka是紧要的)
可以当作leetcode的一个server
7.什么是node.js
是服务器运行JavaScript的运行环境
8.web程序中使用node.js
JavaScript中一等公民是function
callback function 在node.js使用很多
9.node.js不同支持
主线程是单线程
异步IO操作
10.事件循环eventloop
IO操作交给后台运行,执行完后callback,主线程再继续下一步
11.websocket可使client和server之间的通道变为双向双工信道,大大减少busy waiting开销