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