redis概念
概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。
特征:
(1)数据间没有必然的关联关系;
(2)内部采用单线程机制进行工作;
(3)高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
(4)多数据类型支持
字符串类型,string list
列表类型,hash set
散列类型,zset/sorted_set
集合类型
有序集合类型
(5)支持持久化,可以进行数据灾难恢复
Redis 的下载与安装
下载安装包:\
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
解压安装包:
tar –xvf redis-5.0.0.tar.gz
编译(在解压的目录中执行):
make
安装(在解压的目录中执行)
make install
安装 Redis
redis-server,服务器启动命令 客户端启动命令
redis-cli,redis核心配置文件
redis.conf,RDB文件检查工具(快照持久化文件)
redis-check-dump,AOF文件修复工具
redis-check-aof
Redis服务器启动
启动服务器——参数启动
redis-server [--port port]
启动服务器——配置文件启动
redis-server config_file_name
Redis客户端启动
启动客户端
redis-cli [-h host] [-p port]
Redis基础环境设置约定
创建配置文件存储目录
mkdir conf
创建服务器文件存储目录(包含日志、数据、临时配置文件等)
mkdir data
服务器端设定
设置服务器以守护进程的方式运行,开启后服务器控制台中将打印服务器运行信息(同日志内容相同)
daemonize yes|no
绑定主机地址
bind ip
设置服务器端口
port port
设置服务器文件保存地址
dir path
客户端配置
服务器允许客户端连接最大数量,默认0,表示无限制。当客户端连接到达上限后,Redis会拒绝新的连接
maxclients count
客户端闲置等待最大时长,达到最大值后关闭对应连接。如需关闭该功能,设置为 0
timeout seconds
日志配置
设置服务器以指定日志记录级别
loglevel debug|verbose|notice|warning
日志记录文件名
logfile filename
Redis基本操作
信息读写
设置 key,value 数据
set key value
根据 key 查询对应的 value,如果不存在,返回空(nil)
get key
帮助信息
help [command]
获取组中所有命令信息名称
help [@group-name]
退出客户端
quit
exit
Redis 数据类型(5种常用)
基于以上数据特征我们进行分析,最终得出来我们的Redis中要设计5种 数据类型:
string、hash、list、set、sorted_set/zset(应用性较低)
string 类型数据的基本操作
(1)基础指令
添加/修改数据添加/修改数据
set key value
获取数据
get key
删除数据
del key
判定性添加数据
setnx key value
添加/修改多个数据
mset key1 value1 key2 value2 …
string应用场景与key命名约定
2.4.1 应用场景
它的应用场景在于:主页高频访问信息显示控制,例如新浪微博大V主页显示粉丝数与微博数量。
hash的基本操作
新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息
需要的存储结构:一个存储空间保存多个键值对数据
hash类型:底层使用哈希表结构实现数据存储
添加/修改数据
hset key field value
获取数据
hget key field
hgetall key
删除数据
hdel key field1 [field2]
添加/修改多个数据
hmset key field1 value1 field2 value2 …
获取多个数据
hmget key field1 field2 …