Redis基本操作

Redis数据类型

Key + (String set zset list hash)
基本指令
keys * 查看所有键
exists 判断某个键是否存在
type 查看键的类型
del 删除某个键
expire 为键值设置过期时间,单位秒
ttl 表示还有多少秒过期-1表示永不过期 -2代表已过期
dbsize 查看当前数据库Key的数量
Flushdb 清空当前库
Flushall 通杀全部库

String:

String是Redis最基本的类型,是二进制,因此可以包含任何数据,一个Redis中字符串value最多可以是512M
操作:
get 获取相应键的值
set 添加键值对
append 在原始Value末尾追加
strlen 获取值的长度
setnx 只有在Key不存在时设置Key的值
incr 将Key中存储的数字值增1(只能操作数字)
decr 将Key中存储的数字值减1
incrby / decrby <步长> 将key中存储的数字值按补偿+或者-
mget 获取多个键的值
mset 同时设置一个或多个值
msetnx 同时设置一个或多个K-V 并且Key都不存在
getrange
setrange position value
setex <过期时间> 设置K-V的同时设置过期时间
getset 以新换旧,设置了新值同时获得旧值

原子性
原子性是不会被线程调度机制打断的操纵.
(1)在单线程中,能够在单条指令中完成的操作都被认为是原子操作.因为中断只能发生在指令之间
(2)在多线程中不会被其他线程打断的操作就叫原子操作

List

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
操作:
lpush/rpush 从左边/右边插入一个或者多个值
pop/rpop 从左/右边吐出一个值,值在键在,值光键亡
rpoplpush 右边吐出一个值,插到左边
lrange 按照索引下标获取元素(从左到右)范围
lindex 按照索引下标获取元素(从左到右)
llen 获取列表长度
linsert before 的后面插入
lrem 从左边删除N个相同value(从左到右)

Set

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
操作:
sadd 将多个member元素加入到集合Key.
smembers 取出该集合的所有值
sismember 判断集合中是否含有value值
scard 返回该集合的元素个数
srem 删除某个集合中的元素
spop 随机从集合中吐出一个值,会删除元素
srandmember 从集合中取出N个值.不会从集合中删除
sinter 返回两个集合的交集元素
sunion 返回两个集合的并集
sdiff 返回两个集合的差集

hash

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
操作:
hset 创建hash 给key集合中的filed键赋值
hget 从key集合中取出value
hmset 批量设置hash的值
hexists key 查看哈希表key中,给定域field是否存在
hkeys 列出该hash集合的所有field
hvals 列出该hash集合的所有value
hgetall 列出hash集合的所有field和value
hincrby 为哈希表中field的值加上增量increment
hsetnx 将哈希表中field的值设置为value 而且仅当field不存在

zset

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
操作:
zadd : 将一个或多个元素及其score值添加到zset 或者更新已存在成员的分数
zrange 返回有序集key中,索引在start和stop范围的成员
zrangebyscore key min max 返回有序集key中,分数在minx和max范围的成员
zrevrangebyscore key max min 返回有序集key中,分数在max和min范围的成员
zincrby 为元素的score加上增强
zrem 删除该集合下指定值的元素
zcount 统计该集合 分数区间内的元素个数
zrank 返回该值在集合中的排名,从0开始

你可能感兴趣的:(Redis基本操作)