redis.io 进去看就行了
支持网络交互的、可基于内存也可持久化的Key-Value数据库
Redis与其他key-value存储有什么不同
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
在 Web 开发中, Redis 是一个相当重要的工具,它已经不仅仅用于缓存,还被直接用做数据库,充当消息中介等。想要构建高性能、高吞吐的 Node.js 应用,利用好 Redis 是非常重要的途经。
1.优化数据库本身
优化sql语句
2.引入缓存机制,把一部分数据缓存起来 获取速度快
将数据保存在内存上
使用redis(缓存系统 数据库)
一.
服务启动工具 和 命令行启动方式
mac下使用brew来安装~~ redis
启动:redis-server control+C 断开
vim /etc/redis.conf
?daemonize(搜索 进程以什么方式来启动 no yes守护进程的模式)
ps aux | grep redis 看redis运行方式
redis 运行 6379端口
redis-cli 就默认连接到redis的服务端口
redis 键值的存储方式
二.基本使用
1.存储和获取值
2.redis pub/sub
Pub/Sub功能(means Publish, Subscribe)即发布及订阅功能
基于事件的系统中,Pub/Sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者。
消息发布者,即publish客户端,无需独占链接,你可以在publish消息的同时,使用同一个redis-client链接进行其他操作(例如:INCR等)
消息订阅者,即subscribe客户端,需要独占链接,即进行subscribe期间,redis-client无法穿插其他操作,此时client以阻塞的方式等待“publish端”的消息;这一点很好理解,因此subscribe端需要使用单独的链接,甚至需要在额外的线程中使用。
3.redis pub sub(publish subscribe)之基本使用
订阅
redis 127.0.0.1:6379> SUBSCRIBE redisChat
发布
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
我们就会看到接受到消息了