Redis学习 - 基础篇

Redis学习 - 基础篇

一. 简介

Redis 是一个高性能的key-value数据库,常用的数据类型如下:string,list,set,zset,hash

二. 安装

Widows和Linux下如何安装Redis-CSDN博客

三. 常用命令

配置及数据库操作

命令说明
config get [config_name]获取指定的配置信息( * 查看全部)
info [info_name]查看redis服务器信息
select [db_number]切换到指定数据库(0 - 15)

key的操作

命令说明
set [key] [value]
del [key]
rename [key] [newKeyName]改名
keys [pattern]
exists [key]
expire [key] [seconds]设置key的过期时间
persist [key]取消key的过期时间
ttl [key]查看key的过期时间(-1表示永久,-2表示不存在)
move [key] [db]移动 key 去别的库
type [key]查看key的类型

四. 常用数据类型

1. String

命令说明
set [key] [value]
setnx [key] [value]不存在时才创建
setex [key] [seconds] [value]设指定过期时间的字符串键值对
mset [key1] [value1] …批量增加/修改
del [key]
mset [key1] [value1] …批量增加/修改
append [key] [append_value]追加内容
incr [key]将value增加1
decr [key]将value减少1
get [key]
msget [key1] …批量获取
getrange [key] [start] [end]获取截断字符串
strlen [key]返回对应 value 的长度

2. Hash

Hash用来存对象,命令类似于String : h + XXX

命令说明
hset [key] [field] [value]
hsetnx [key] [field] [value]不存在时才插入
hmset [key] [field1] [value1] …批量插入
hdel [key] [field] …批量删除field
hget [key] [field]获取指定的field的value值
hgetall [key]获取所有field的value值
hvals [key]获取所有的value值
hlen [key]获取field的数量
hkeys [key]获取所有field值

3. List

双头队列

命令说明
lpush [key] [value1] …队头插入
rpush [key] [value1] …队尾插入
lpop [key]队头出
rpop [key]队尾出
lrem [key] [count] [value]从队头到队尾删除指定数量的值为value的元素(0表示全部删除,否则删除的数量为绝对值的count,负数表示从队尾开始删除,正数从队头开始删除)
lset [key] [index] [newValue]将指定index的值改为newValue(负数表示队尾倒数第几个,非负数表示索引)
lindex [key] [index]获取指定索引的元素(队头为0)
lrange [key] [start] [end]从队头往队尾输出
llen [key]列表大小

4. Set

类似于Java的HashSet<String>

命令说明
sadd [key] [value1] …单个/批量插入
srem [key] [value1]…单个/批量删除
sismember [key] [value]是否包含指定value
smembers [key]遍历输出所有元素
scard [key]输出长度
集合操作
sinter [key1] [key2] …取交集
sinterstore [key] [key1] [key2] …取后面集合的交集存到key所在set
sdiff [key1] [key2]…取差集
sunion [key1] [key2]…取并集
sunionstore [key] [key1] [key2] …取后面集合的并集存到key所在set

5. Sorted Set

HashMap<String, Integer>

命令说明
zadd [key] [score1] [member1] …单个/批量插入
zrem [key] [member1] …单个/批量删除
zremrangebyscore [key] [min] [max]删除指定分数区间的元素
zremrangebyrank [key] [start] [end]删除指定索引范围的元素(按升序排名的)
zincrby [key] [increment] [member]给member加上increment分
zrange [key] [start] [end] [withscores]按分数升序输出指定索引区间的元素 (加了withscores分数也输出)
zrevrange [key] [start] [end] [withscores]按分数降序输出指定索引区间的元素(加了withscores分数也输出)
zrangebyscore [key] [min] [max] [withscores]按照分数区间升序输出元素
zcount [key] [min] [max]获取指定分数区间的元素数量
zrank [key] [member]获取指定member的索引(按照分数升序的排名 - 1)
zrevrank [key] [member]获取指定member的索引(按照分数降序的排名 - 1)
zcard [key]获取长度

五. 消息的订阅发布

开两个客户端(两个cmd窗口,执行redis-cli.exe),一个作为订阅方,一个作为发布方

订阅方

SUBSCRIBE redisChat

发布方

publish redisChat "hello"

下图为执行结果,左边为订阅方,右边为发布方:
在这里插入图片描述

命令说明
pubscribe [pattern1] …订阅单个/多个频道
UNSUBSCRIBE [pattern1]…退订单个/多个频道
publish [pattern] [message]将message发布到pattern频道
pubsub channels查看订阅的频道

六. 事务

和数据库事务差不多

命令说明
multi标记事务开始
exec执行事务中的所有命令
discard取消事务
watch [key]…下次事务执行前,如果这些key的内容被修改了,则打断事务
unwatch取消所有的watch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值