Redis教程_1
Redis 简介
Redis是开源免费,遵守BSB协议,是一个高性能的key-value数据库
Redis支持数据的持久化,提供String,List,Set,ZSet,Hash等数据结构等存储,支持数据的备份(master-slave模式的数据备份)
Redis读写性能极高(读:110000次/s,写:81000次/s),丰富的数据类型,所有操作都是原子性的(执行成功 or 执行失败)
Redis MAC安装
# 安装 brew install redis # 命令行下启动服务 brew services start redis redis-server /usr/local/etc/redis.conf #重启: brew services stop reids brew services restart redis # 链接本地redis服务 redis-cli
# 链接远程redis服务
# redis-cli -h host -p port -a password
# 链接到host 127.0.0.1, port 6379, 密码为mypass的redis服务
redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
#检测redis服务是否启动,返回PONG启动
ping
可视化工具: Redis Desktop Manager
Redis MAC重要配置(/usr/local/etc/reids.conf)
1.Redis默认不是以守护进程的方式运行,可以通过该配置项修改
# 关闭守护进程 daemonize no # 启用守护进程 daemonize yes
2.指定Redis监听端口,默认端口6379
port 6379
3.绑定主机地址(不设置就所有地址都可以访问)
bind 127.0.0.1
4.当客户端闲置多久时间后关闭链接,0代表关闭该功能
timeout 300
5.链接密码
requirepass xxxx
Redis数据类型
Redis支持五种数据类型:string,hash,list,set,zset(有序集合)
String字符串(Redis最基本的数据类型,最大存储512M,可以包含任意数据)
# 创建 key为name, value为char的string set name "char" # 获取 get name
Hash哈希(每个hash可以存储40多亿键值对,存储模式是:string类型多field和value映射表,特别适合存储对象)
# 创建Hash: myhash hmset myhash field "hello" # 获取 hget myhash field
List列表:字符串列表,列表头部插入(左边),列表尾部插入(右边),每个列表可以存储40多亿元素
# 创建列表:runoob lpush runoob redis lpush runoob mongodb lpush runoob rabitmq # 获取 lrange runoob 0 10
Set集合:Stirng类型的无序集合,通过哈希表实现,添加、删除、查找的复杂度都是O(1),每个集合可以存储40多以成员
添加一个Sting元素到key对应的set集合中,成功返回1,已经存在返回0,如果key对应的set不存在返回错误
# 创建集合:ok sadd ok redis sadd ok mongodb sadd ok rabitmq # 获取 smembers ok
ZSet有序集合:和set一样,不同的是每个元素会关联一个double类型的分数,redis通过分数(分数可以重复)来从小到大排序
# 创建ZSet:okex zadd okex 0 reids zadd okex 0 mongodb zadd okex 1 rabitmq # 获取 zrangebyscore okex 0 1000