一、redis中的常见数据结构
Redis共有5种常见数据结构,分别字符串(STRING)、列表(LIST)、集合(SET)、散列(HASH)、有序集合(ZSET)。
二、redis中字符串(String)介绍
String 类型是一个 k-v 键值对形式的数据类型,一个 key 对应一个 value。
三、常见命令
1.Redis 默认有16个数据库(0~15),默认使用第0个
可以使用
select
进行切换
2.查看数据库大小
使用
dbsize
查看数据库大小
3.查看所有的key(当前库)
使用
keys *
4.清除当前数据库
flushdb
5.清空所有数据库
flushall
6.判断key是否存在
exists
key
7.移除key
move
key 1 // 1 表示移动到哪个数据库
del
key // 删除当前数据库的key(可以多个)
8.设置key的过期时间
expire
key 时间 // 单位时间为s
ttl
key // 查看剩余存活时间
9.查看当前key的类型
type
key
10.字符串追加(String)
append
key appendValue
- 如果当前 key 不存在,作用相当于 set key
11.获取字符串长度(String)
strlen
key
12.字符串i++操作(可用于阅读量实现)(String)
incr
key
同理,i --
decr
key
incrby
key 步长
decrby
key 步长
13.字符串片段 Range (String)(Range:范围)
getrange
key [startIndex] [endIndex]
- 对应java里的substring(但是这里会endIndex是一个闭区间)
- 特例,endIndex = -1 时,表示从startIndex 到最后
14.字符串替换 (String)(Range:范围)
setrange
key index replaceString
- 对应java里的replace
- 注意,如果replaceString是一个字符串,那么会替换源字符串中index后replaceString长度的片段,结果如下
15.特殊set设置 (String)
setex(set with expire)
setex
key 时间 value // 设置值,带过期时间
setnx(set if not exist)
setnx
key value // 如果不存在,则设置
16.批量设置、批量获取(原子性操作) (String)
mset
k1 v1 k2 v2 …
mget
k1 k2 …
- 特殊
msetnx
批量设置(要么都成功,要么都失败)(原子性)
17.设置高阶 (String)
getset
key value // 先get再set(如果不存在,先返回nil,在设置值;如果存在,就先返回原值,再设置新值)
18.重命名key
rename
key newName