1、mac安装 redis
brew install reids
2、启动服务
redis-client
3、可视化
3.1 可视化工具(Database client)
3.2 终端运行
redis-cli
4、命令行
4.1 string类型
set key value [NX | XX] [EX second | PX milliseconds |EXAT unix-time-s]
key:要设置的键名
value:要设置的键值
NX:可选参数,表示只在键不存在时生效
XX:可选参数,表示只在键存在时生效
EX second:可选参数,设置过期时常
PX milliseconds:可选参数,将键的过期时间设置为指定的毫秒数
get:取值操作
del:删除操作
set key value // 设置key 值为 value
set name 2 // 设置 name。值为 2
set name 2 NX //设置失败,已存在 name
set name 2 XX //设置成功,存在name
set obj 5 XX //设置失败,不存在obj
set age 18 EX 10 // 10s 过期
get age 18 //获取 age
del age //删除 age
4.2 集合(Set)
集合是一种无需且不重复的数据结构,用于存储一组独立的元素。集合中的元素之间没有明确的顺序关系,每个元素在集合只能出现一次。
sadd key [...values]:添加操作
smembers key:查看数据
sismember key value:检查成员,若为1,则值在集合中,若为0,则不在集合中
srem key [...values]:删除成员
scard key:获取成员数量
srandmember key:随机获取成员
sadd class yuwen shuxue yingyu yingyu //创建集合class
smembers class // "yuwen" "shuxue" "yingyu"
sismember class tiyu // 0 tiyu不是集合class成员
srem class yuwen // 删除集合class中的"yuwen"
scard class // 2 还有两个 "shuxue" "yingyu"
srandmember class //随机获取 "shuxue"
4.3 哈希表(hash)
hset obj [... key value]:创建哈希表
hget obj [... key]:获取哈希表obj的对应键值
hmget obj [...key]:获取哈希表obj多个值
hgetall obj:获取哈希表obj所有的字段和值
hdel obj age email:删除哈希表的字段
hset obj name xiaoluo age 18 email 123@qq.com //创建 obj哈希表并带有三个值
hget obj age // "18" //获取哈希表obj的 age
hmget obj name age email //获取哈希表obj的多个值 "xiaoluo" "18" "123@qq.com"
hgetall obj //获取哈希表obj的所有字段和值
##
1) "name"
2) "xiaoluo"
3) "age"
4) "18"
5) "email"
6) "123@qq.com"
##
hdel obj age //删除 age
4.4 列表(List)
列表是一种有序、可变且可重复的数据结构。在许多变成语言和数据存储系统中,列表是一种常见的数据结构类型,用于存储一组元素。
LPUSH list value1 value2:将一个或多个元素从列表左侧插入,即将元素依次插入列表的头部。如果列表不存在,则在执行操作前会自动创建一个新的列表。
RPUSH list value1 value2:将一个或多个元素从列表右侧插入,即将元素依次插入列表的尾部。如果列表不存在,则在执行操作前会自动创建一个新的列表。
LINDEX list index:获取list第index元素
LRANGE list start stop:获取列表中指定范围内的元素 (左右闭合)
LSET list [index] value:修改list索引位index的值
LPOP list:删除list左侧第一个并返回
RPOP list:删除list右侧第一个并返回
LREM list count value:删除list 中的 count个的值为value的
LLEN list:获取list长度
lpush list x y z // 向list头部依次插入 x y z 最终显示 z y x
rpush list 1 2 3 //向list尾部依次插入 1 2 3 最终显示 z y x 1 2 3
LINDEX list 3 // 获取list索引为3的 "1"
lrange list 2 5 //获取list索引2 - 5 的元素 x 1 2 3
lrange list 0 -1 //获取list全部的元素
lrange list 0 -2 //获取从头开始到尾元素倒数一位 z y x 1 2
lset list 0 p //修改list第一位 p
lpop list //删除左侧第一个 p
rpop list //删除右侧第一个 3
lrem list 1 1 //删除list中的一个1
llen list //3 y x 2