连接redis服务器
#连接本地
./redis-cli -p 6379
#连接远程服务器
./redis-cli -h 127.0.0.1 -p 6379
# 密码登录
./redis-cli -h 127.0.0.1 -p 6379 -a 123132
相关命令
#切换到6号数据库
127.0.0.1:6379> select 7
#获取所有key
keys *
#设置key的过期时间(10秒)
EXPIRE k2 10
# 获取key为a的失效时间(-1永不过期,-2已经过期)
ttl a
# 清空当前数据库
flushdb
#清空所有库
FLUSHALL
#判断key是否存在
EXISTS k1
#判断key的类型
type k1
字符串
#设置 key为a value 为123
set a 123
# 删除 k2
del k2
#10秒后过期
set a 123 ex 10
# 获取a的value
get a
# 如果a存在,则插入返回1 ,否则不插入返回0
setnx a 123
# 批量设置 设置key为a 、b
mset a 123 b 234
# 自增 +1
incr a
# 自减-1
decr a
# 加 2
incrby a 2
# 减2
decrby a
# 针对浮点数+ 1.1
incrbyfloat c 1.1
# 字符创
# 在value 后追加 tt
append a tt
# 获取字符串长度
strlen a
#截取2-4位字符串
getrange a 2 4
hash相关
Hash是一个键值(key-value)的集合。redis的hash是一个string的key和value的映射表,Hash特别适合存储对象
#设置 key为user:01 值为 name 和sex
hmest user:01 name a sex b
#获取user:01的value
hgetall user:01
#获取user:01的name
hget user:01 name
#删掉user:01的name属性
hdel user:01 name
#判断user:01的 sex属性是否存在,存在为1
HEXISTS user:01 sex
#获取 user:01的所有属性
HKEYS user:01
# 将 age的值+1(跟字符串类似)
hincrby user:01 age 1
List相关
存储多个有序的字符串。比如twitter的关注列表,粉丝列表都可以用list结构来实现
#从右侧插入key为a, 值分别为 c b a
rpush a c b a
#从左侧插入
lpush a c b a
# 列出a列表中所有的值
lrange a 0 -1
# 列出a列表中从0 到1 的值
lrange a 0 1
# 返回 a列表的长度
llen a
# 删掉左侧第一个数
lpop a
# 删掉右侧第一个值
rpop a
Set相关
不允许有重复值,并且无序。可以用在计算共同兴趣或者标签等
#添加user集合, 值为 a b c
sadd user a b c
# 判断 user集合是否存在
exists user
# 获取 user集合中所有元素
smembers user
# 删除user集合中的a值
srem user a
# 返回集合个数
scard user
# 计算出两个集合的交集
sinter user1 user2
Zset 相关
有序集合,不允许有重复值。可以用在排行榜、点赞数等
#给集合user 添加 a分数为200 b分数为100
zadd user 200 a 100 b
#根据分数从低到高
zrange user 0 -1 withscores
#添加新的元素到集合
zadd user nx 1 aa
#修改 aa的分数 +1
zadd user incr 1 aa
或者
zincrby user 1 aa
#修改 aa的分数 -11
zadd user incr -11 aa
#元素个数
zcard user
#将aa删除
zrem user aa
#获取 b的分数
zscore user b
#获取b的排名
zrank user b
# 删掉user集合中0 -1的元素
ZREMRANGEBYRANK user 0 1