Redis特征
- Redis是一种开源的、基于内存的、可持久化的、高性能的Key-Value数据存储系统。
- Redis的主要特点
- 高性能(内存存储,仅在需要时持久化到硬盘。单线程串行处理请求。)
- 数据类型丰富(String、Hash、List、Set、SortedSet)
- 支持事务处理
- 批量操作
- 支持设置key的有效期
- 支持主从复制和故障自动迁移
- 支持Pub/Sub消息通讯机制
- 支持Lua脚本实现复杂的数据库操作
- Redis和Memcache的对比
Redis | Memcache |
---|---|
数据缓存在内存,也可以根据需要持久化写入磁盘 | 只能将数据缓存到内存中 |
用于缓存、NoSQL数据库、消息代理 | 只能作为缓存 |
单进程串行阻塞式处理请求。worker是由单线程执行,支持多线程IO | 多进程并行处理 |
有String、Hash、List、Set、SortedSet多种数据类型 | 所有数据都是字符串 |
安装Redis
Linux安装
- Linux下载地址:https://redis.io/download
$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz
$ tar xzf redis-5.0.4.tar.gz
$ cd redis-5.0.4
$ make
编译完成之后,可以看到配置文件redis.conf和src文件夹。
进入src文件夹,make install进行安装Redis。安装完成界面如下:
简单配置信息
为了以后启动、使用方便,在/usr/local下建立redis文件,将必要shell程序和redis配置文件一如其中。
mkdir /usr/local/redis
cd /usr/local/redis
cp ~/redis-5.0.4/src/redis-server ./
cp ~/redis-5.0.4/src/redis-cli ./
cp ~/redis-5.0.4/src/redis-benchmark ./
cp ~/redis-5.0.4/redis.conf ./
cp ~/redis-5.0.4/src/redis-check-aof ./
然后修改配置文件sudo vim redis.conf
,找到daemonize选项,将其修改为yes,意为后台运行redis,找到stop-writes-on-bgsave-error no改为no。
Windows安装
下载链接:https://github.com/MicrosoftArchive/redis
- 目录结构
redis.windows.conf文件——Redis配置文件
redis-server.exe——安装/启动Redis服务实例
redis-cli.exe——Redis客户端程序,连接/操作Redis实例
dump.rdb——数据存储文件(RDB) - Windows系统的服务启动是在命令行终端下进行:
redis-server.exe --service-install
,可选择的选型–service-name 服务名 --port 端口号 --requirepass 密码- redis-cli.exe -h 主机(默认localhost)-p 端口(默认6379) -auth 密码
- redis-server.exe --service-uninstall --service-name 服务名
常用命令练习
redis命令查询文档:http://redisdoc.com/
Key命令
Key命令 | 含义 |
---|---|
KEYS pattern | 时间复杂度: O(N),通配符查询 。 |
del key | 删除key对应的KV |
exits key | 查询key对应的KV是否存在 |
rename key newkey | 对key进行重命名 |
type key | 查询key对应的数据类型 |
expire key second | 设置数据生存秒数 |
persist key | 将数据持久化存储 |
ttl key | 查询数据剩余生存时间 |
move key db | 移动数据到其它数据库,默认16个数据库,默认在db0下 |
migrate | 移动数据到其它主机 |
Server命令
Server命令 | 含义 |
---|---|
select index | 选择数据库,index为数据库编号,默认0~15 |
dbsize | 统计当前数据库的key数目 |
flushdb | 删除当前数据库 |
flushall | 删除所有数据库 |
save | 将数据保存到磁盘,阻塞存储 O ( n ) O(n) O(n)。 |
bgsave | 后台fork子进程存储数据到磁盘, O ( n ) O(n) O(n),n是数据库key数目。 |
config get | 获取配置信息 |
config set | 设置配置信息 |
config rewrite | 持久化配置信息 |
shutdown | 断开与redis系统的连接 |
exit | 退出redis系统 |