扩展一:Redis简介
Redis 一个内存数据库,通过 Key-Value 键值对的的方式存储数据。由于 Redis 的数据都存储在内存中,所以访问速度非常快,因此 Redis 大量用于缓存系统,存储热点数据,可以极大的提高网站的响应速度。
(一)Redis优点
(1)支持数据的持久化,通过配置可以将内存中的数据保存在磁盘中,Redis 重启以后再将数据加载到内存中;
(2)支持列表,哈希,有序集合等数据结构,极大的扩展了 Redis 用途;
(3)原子操作,Redis 的所有操作都是原子性的,这使得基于 Redis 实现分布式锁非常简单;
(4)支持发布/订阅功能,数据过期功能;
环境准备:http://www.runoob.com/redis/redis-install.html
(二)Redis安装
在 Ubuntu 系统安装 Redi 可以使用以下命令:
$sudo apt-get update
$sudo apt-get install redis-server
(三)Redis启动
$ redis-server
查看 redis 是否启动?
$ redis-cli
以上命令将打开以下终端:
redis 127.0.0.1:6379>
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
redis 127.0.0.1:6379
> ping
PONG
以上说明我们已经成功安装了redis。
四、常用命令
(一)基本操作
Redis 是 Key-Value 内存数据库,操作是通过各种指令进行的,比如 SET
指令可以设置键值对,而 GET
指令则获取某一个键 的值。不同的数据结构,Redis 有不同的指令,这样指令一共有几十个,下面主要介绍一些常用的指令。Redis 对 Key 也就是键有各种各样的指令,主要有下面的指令(下面的指令中小写字符串都是参数,可以自定义):
>keys * //返回键(key)
>keys list* //返回名以list开头的所有键(key)
>exists list1 //判断键名为list1的是否存在 存在返回1, 不存在返回0
>del list1 //删除一个键(名为list1)
>expire list1 10 //设置键名为list1的过期时间为10秒后
>ttl list1 //查看键名为list1的过期时间,若为-1表示以过期 或 永不过期
>move age 1 //将键名age的转移到1数据库中。
>select 1 //表示进入到1数据库中,默认在0数据库
>persist age //移除age的过期时间
>flushdb:删除所有的数据 清除当前所在库的所有数据
>flushall 清空所有数据
(二)Redis 配置(了解)
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。
你可以通过CONFIG命令查看或设置配置项。
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
redis 127.0.0.1:6379> CONFIG GET loglevel
1) “loglevel”
2) “notice”
(三)Redis 配置参数说明(了解)
redis.conf 配置项说明如下:
(1)Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no
(2)当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid
(3)指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 6379
(4)绑定的主机地址
bind 127.0.0.1
(5)当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
(6)指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel verbose
(7)日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile stdout
(8)设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id
databases 16
(9)指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
save
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。