初识Redis
前提
安装:
mac使用
brew search redis
brew install redis(redis@版本号)
启动
(1) 必须先启动服务端,然后启动客户端
redis-server /usr/local/etc/redis.conf - - - -服务端启动
redis-cli - - - -客户端启动
(2)进入etc,找到redis.conf 并修改 daemonize no(第128行) 为 daemonize yes ,这样就可以默认启动就后台运行
关闭
sudo pkill redis-server
一、为什么使用redis
快,完全基于内存,单线程,多路复用,普通笔记本配置也能抗住十几万的QPS。
线程模型 多路复用具体介绍
二、redis数据类型及其应用场景
String(字符串):可以存储字符串、数字
list(列表): 列表可以存储多个字符串(可以相同)
set(集合):集合可以存储多个字符串(且各不相同)
zset(有序集合):有序集合跟set一样,多了一个浮点型分数 (score),元素不能重复的,但是分数可以重复。
hash(哈希):可以村粗多个键值对的映射
2.1 String(字符串)
语法:
-- 设置key和value(string类型)
set key value
-- 获取指定key值
get key
-- 删除指定key
del key
demo:
2.2 List(列表)
语法:
-- 右/左端入列表 并返回当前列表长度
rpush listname value /lpush listname value
批量rpush list value1 value2
-- 弹出列表
rpop listname /lpop listname
-- 取列表开始和结束位置的元素,0表示起始位置,-1表示索引结束位置,0 1表示全部全元素
lrange listname start end
-- 取某个位置元素
lindex listname key
demo:
2.3 set(集合)
语法:
-- 批量设置指定集合setkey的值为1 2 3,返回插入成功的数量
-- 返回值为0表示当前元素已经在该集合中了
sadd setkey 1 2 3
sadd setkey 1
-- 获取集合
smembers setkey
-- 删除某个元素
srem setkye 1
-- 判断某个元素是否在集合中,返回值1表示存在,0表示不存在
sismember setkey 1
demo:
2.4 zset(有序集合)
语法:
-- 设置key和value(string类型)
zadd zsetaname score member
-- 获取zset所有起始位置元素
zrange zsetname 0 -1
-- 获取zset所有起始位置元素和分数
zrange zsetname 0 -1 withscores
-- 删除指定元素
zrem zsetname member
del key
demo:
2.5 hash(哈希)
语法:
-- 设置key和value(string类型),并返回长度
hset hash-key key1 value1
-- 删除哈希指定key对应的键值对
hdel hash-key key
-- 获取所有哈希键值对
hgetall hash-key key
-- 获取哈希指定key对应的键值对
hgetall hash-key
demo:
三、项目中常见使用方式举例
四、 redis主从架构介绍
哨兵和复制