Redis—第1周—introduce
Redis—第一周—introduce
一.redis的优点
1.速度快,跑在内存中
将数据存入内存中,由C语言编写单机的代码数大概在22000行。不依赖外部的库。redis是单线程。一级缓存比二级缓存快,二级缓存比内存快,在使用内存的时候,每秒可以达到千万级别的读写,读写延迟在80ns,访问的宽带可以达到5GB。
2.可以持久化
对数据的更新将异步保存在磁盘上,磁盘上的数据在开机后,dump到内存中。分为AOF和RDB两种。
3.支持多种数据结构
基于key-value,类似于python或者mongodb的语法name:123这种对应的。支持字符串,哈希,列表,集合,有序集合。又衍生出位图,hyperloglog,GRO(地理信息),衍生出来的机构还是在5中结构里面,每一种数据类型都有自己的编码方式。
4.支持多种的变成语言
比如java.python,php,lua ,ruby等等
5.功能比较丰富
支持发布订阅,lua脚本,简单事务,pipeline
6.主从复制,高可用,分布式
主从复制是高可用和分布式的一个基础。
7.应用场景
缓存,计数器,消息队列,排行榜,社交网络(非常匹配)
二.redis的安装
因为作者比较傲娇。windows虽然有补丁。还是推荐在linux下部署。
可以使用yum 安装或二进制包安装
以centos 7.2为例
yum
yum install epel-release -y
yum install redis* -y
二进制包
wget http://download.redis.io/redis-stable.tar.gz
yum install gcc-c++ tcl
tar xf redis-stable.tar.gz
ln -s /redis-stable.tar.gz redis
cd redis/deps
make hiredis jemalloc linenoise lua
make
make test
make install
redis bin 命令
redis-server 启动redis服务器
redis-cli 客户端程序
redis-benchmark 基准测试工具
redis-check-aof aof持久化修复工具
redis-check-dump rdb持久化修复工具
redis-sentinel 启动sentinel节点
redis启动分为3种
redis-server 使用默认配置启动redis
redis-server /etc/redis.conf 使用配置文件启动
生产环境建议使用配置文件使用,在每一个参数文件中可以修改不同的端口号,实现一台主机多个实例。
redis.conf常用配置
daemonize 设置为yes,则在后台启动
port 单主机多实例时候更改端口
logfile 系统日志文件
dir 工作的日志存入目录
三.Redis API
通用命令
通用命令
keys 一般不在生产环境中使用,数据量很大会阻塞其他命令,可以在从节点使用,也可以用scan命令
keys 计算所有的数据键
keys * 打印所有的key
keys he* 查询he的键值
keys he[h-l]* 查询第三个字母在h-l间的键值
dbsize 算出key总数
exists keys 判断key是否存在,存在返回1,不存在返回0
del key 删除key,可删除多个,成功返回1,不存在返回nil
expire key second 设置key在多少秒后过期
ttl key 查询当前 key的过期时间,-2表示key已经过期删除,-1表示key存在且没有过期
persist key 去掉key的过期时间
type key 返回key的类型
除了keys的时间复杂度为O(n),其余的都是O(1)

浙公网安备 33010602011771号