Redis相关命令

什么是Redis

  Redis首先是一个存储数据库,数据在缓存在内存中,数据是K-V结构。

Redis的使用

Redis安装使用

  • Redis的数据类型
类型 描述 备注
string 字符串 K-V 最大值存储512M
list 简单字符串列表,可以将元素添加最左边或者右边 最多存储232 - 1
set string类型的无序集合 Hash表实现,查询效率O(1),最多存储232 - 1
zset 有序集合,成员不能重复,但是scope可以重复
image.png
hash 键值对的集合
image.png
  • 常用命令
    启动命令:redis-server
    连接命令:redis-cli (本地) redis-cli -h 127.0.0.1 -p 6379 -a “mypwd” (remote)

介绍命令之前先说下命令返回值的类型:

  • 状态回复


    状态回复
  • 错误回复


    错误回复
  • 整数回复
    1 : 成功 , 0 :失败

整数回复
  • 字符串回复


    字符串回复

key相关

序号 命令 描述
1 del key key存在时删除key,不存在返回0
2 dump key 返回key的序列化值
3 exists key 判读key是否存在
4 expire key time key的有效期,单位 秒
5 expireat key timestamp key的有效期,单位毫秒
6 pexpire key milliseconds key的有效期,时间单位为时间戳
7 pexpireat key milliseconds-timestamp key的有效期,时间单位为毫秒的时间戳
8 keys pattern 查找所有符合patten的key
9 move key db 将key 移到db的数据库;当前所在的db默认为0,select db转移到指定db
10 persist key 移除key的过期时间
11 ttl key 查看key的剩余有效时间 秒
12 pttl key 查看key剩余有效时间毫秒
13 randomkey 随机返回一个key
14 rename key newkey 修改已有key的名称,如果newkey 是已经存在的会将已经存在的value 覆盖
15 renamenx key newkey 当 且仅当newkey为null,修改key名称
16 type key 返回key的类型

string

序号 命令 描述
1 set key value 设置key的值,如果key的value有值则覆盖
2 get key 获取key的值
3 getrange key begin end 截取key的value 下标begin- end,如果end -1 则认为value.length-1
4 getset key value 给key设置value,并返回value 的old value
5 mget key1 key2 获取多个key的值
6 mset key1 value1 key2 value2 设置多个key-value
7 setex key seconds value 设置key -value 并且设置过期时间
8 setnx key value 只有key不存在时设置value
9 strlen key 返回key对应value 的长度
10 incr key 将key 对应的value 加1,只针对integer有效
11 decr key 将key 对应的value 减1
12 append key value1 在key 的value后拼接value1

hash相关命令

hash是String类型的键值对映射表,适合存储对象

序号 命令 描述
1 hmset key field1 value1 field2 value2 将多个 field-value (域-值)对设置到哈希表 key 中
2 hset key filed value 将一个filed-value设置到哈希表key中
3 hsetnx key filed value 只有filed不存在时,设置value
4 hvals key 获取hash中所有值
5 hmget key field1 field2 获取多个key的值
6 hlen key 哈希表中字段数量
7 hkeys key 获取hash表中所有字段
8 hgetall key 获取给定key所有字段和值
9 hget key field 获取给定key&字段的值
10 hexists key field 判断哈希表key中,field是否存在
11 hedl key field 删除 key哈希表中的field

List相关

String的列表,按照顺序排序,每个列表最多存储232-1元素

序号 命令 描述
1 lpush key value1 value2 将多个值加到列表头部
2 llen key 获取key列表长度
3 lpushx key value 将一个值添加到列表头部
4 lrange key start end 获取key列表范围元素start-end
5 lindex key index 获取下标index 元素
6 linsert key before/after value value1 在列表元素 value 之前或者之后插入value1
7 rpush key value1 value2 将多个值加到列表尾部
8 rpush key value 为已存在的列表尾部添加值
9 lset key index value 通过索引设置值
10 lpop key 移除并获取列表第一个元素
11 ltrim key 截取保留区间内元素
12 rpop key 移除最后一个元素
13 rpoppush source destination 移除最后一个元素,并将该元素添加到另一个列表头部
14 blpop key timeout 移除并获取第一个元素,如果列表中没有该元素阻塞timeout 单位秒
15 brpop key timeout 移除并获取最后一个元素,如果列表中没有该元素阻塞timeout 单位秒

set相关

string元素唯一的无序集合,最多存储232-1元素

序号 命令 描述
1 sadd key value1 value2 向集合添加一个或者多个成员
2 scard key 获取集合成员个数
3 sdiff key1 key2 返回key1集合在key2的差集
4 sdiffstore key key1 key2 返回key1集合在key2的差集,并将结果存储到key中
5 sinter key1 key2 返回集合的交集
6 sinterstore key key1 key2 返回集合的交集,并将结果存储到key中
7 sismember key member 判断集合是否有member成员
8 smembers key 获取集合所有成员
9 smove source destination member 将member元素从source移到destination
10 spop key 随机移除并返回一个元素
11 srandmember key count 返回集合中一个或者多个随机元素
12 srem key member1 member2 移除集合中一个或者多个元素
13 sunion key key2 返回给定集合的并集
14 sunionstore destination key1 key2 返回给定集合的并集,并存储destination

sorted set相关

相比较set 多了一个score(分数)

序号 命令 描述
1 zadd key score1 value1 score2 value2 向有序集合添加一个或多个成员,或者更新已存在成员的分数
2 zcard key 返回集合成员个数
3 zcount key min max 计算集合分数在min 和max之间成员个数
4 zincrby key increment member 在成员member的score上增加increment
5 zscore key member 返回成员member的score
6 zlexcount key min max 命令在计算有序集合中指定字典区间内成员数量
7 zrange key start end withscores 通过索引区间返回有序集合指定分数区间内的成员

事务

序号 命令 描述
1 multi 标记一个事务的开启
2 exec 执行事务内的命令
3 discard 取消事务
4 watch key1 key2 监视key1 key2,如果事务执行之前发生变化,则事务被打断
5 unwatch 取消所有对key的监视
  • 配置

config get * 获取所有配置项
config set 修改配置项

配置项参数说明:


image.png

Redis的优点

  • 性能高,读的速度110000次/秒,写的速度81000次/秒
  • 所有指令都是原子级,支持多个操作事务,使用MULTI和EXEC。
  • 支持数据的持久化,将内存的数据保存在磁盘上,重启的时候重新加载
  • 支持数据的备份,即master-slave模式的备份
  • 支持多种数据类型,string,hash,set,list,zset

你可能感兴趣的:(Redis相关命令)