Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、一个高性能的key-value数据库。并提供多种语言的API。说到Key-Value数据库NoSQL数据库能够想到MongoDB。java
和Memcached相似,可是它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。redis
用redis就要有数据丢失的准备。数据库
brew install redis
安装的文件保存在/usr/local/bin下缓存
sudo redis-server
运行后自动在后台运行,关闭后也会继续运行。可使用端口检测命令来查看。网络
lsof -i tcp:6379
redis-cli
set name pgy
设置key为name的缓存时间为10秒tcp
expire name 10
get name
存在报错返回0,正确返回1分布式
setnx name peng
quit
(在redis-cli中)memcached
SHUTDOWN
(不在客户端交互模式下关闭) 工具
redis-cli shutdown
brew uninstall redis
可视化工具下载https://blog.csdn.net/xidiancoder/article/details/71378551性能
subscribe peng
订阅peng这个频道
左右2个监听了peng这个频道(会卡在这个界面)
发布消息
publish peng helloworld
事务开始
multi
事务结束
exec
一、快照
所有保存(占空间,通常不会用磁盘空间浪费)
二、AOF
只改变不同的
always:一有改动保存一次
everysec:每秒保存一次
no:不肯定时间保存一次