文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Redis的五大数据类型及常用命令

2015-10-09 11:53

关注

一、与数据库相关的命令

Redis启动后默认16个数据库,类似数组下表从零开始,初始默认使用零号库

  1. 切换数据库命令 select 数据库下标

  2. 查看当前数据库的key的数量 Dbsize

  3. 清空当前库 flushdb

  4. 清空所有库 flushall

二、与键相关的常用命令

  1. 查看所有的键 keys *

  2. 判断是否存在某个键 exists key
    如果存在返回1,否则返回0

  3. 从当前库移动某个键到目标库 move key db

  4. 设置键的过期时间 expire key 秒钟

  5. 查看还有多少秒过期 ttl key (-1表示永不过期,-2表示已过期)

  6. 查看key的类型 type key

三、5大数据类型

String(字符串)

String是redis最基本的类型,一个key对应一个value。它是二进制安全的,也就是说它可以包含任何数据,比如序列化的对象或图片等。一个字符串value最大可以是512m。

命令 说明 示例
set key value 设置指定key的值
get key 获取指定key的值
del key 删除一个key
append key value 给一个key拼接一个字符串
strlen key 获取键的值得长度
incr/decr/incrby/decrby/ 对键的值进行加减操作,键值必须是数字
getrange 获取指定区间范围内的值,从0到-1代表获取全部
setrange 设置指定区间范围内的值
setex key 秒 值 设置带过期时间的键
setnx 只有键不存在时才设置键的值
mset 同时设置一个或多个键值对
mget 同时获取多个键的值
msetnx 同时设置一个或多个键值对,仅当所有给定的键都不存在时才能生效
getset 将给定 key 的值设为 value ,并返回 key 的旧值

List(列表)

列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部或者尾部。其底层结构是一个链表。

命令 说明 示例
lpush key value1 value2... 将一个或多个值插入到列表头部
rpush key value1 value2... 将一个或多个值插入到列表尾部
lrange start end 获取指定范围内的元素,start为0,end为-1时表示获取全部
lpop key 从列表头部移除一个元素并返回
rpop key 从列表尾部移除一个元素并返回
lindex key index 通过索引获取列表中的元素
llen key 获取列表的长度
lrem key count value 从左到右删除count个值等于value的元素,返回的值为实际删除的数量,当count=0时,表示删除全部值
ltrim key start end 截取指定索引区间的元素
rpoplpush key1 key2 从key1列表尾部移除一个元素插入key2列表的头部
lset key index value 修改某个下标对应的值
linsert key before/after 值1 值2 在列表某个已有值的前后再添加具体值

Hash(哈希)

哈希是一个键值对的集合,由一个string类型的key和value构成的映射表,它很适合用来存储对象。

命令 说明 示例
hset key field value 将哈希表key中的字段field的值设置为value
hget key field 获取哈希表中指定字段的值
hmset key field1 value1 field2 value2 ... 同时将多个key-value设置到哈希表中
hmget key field1 field2 获取所有给定字段的值
hgetall key 获取哈希表中的所以字段和值
hdel key1 key2 删除一个或多个哈希表中的字段
hlen key 获取哈希表中字段的数量
hexists key field 查看哈希表中指定的字段是否存在
hkeys key 查看哈希表中所有的键
hvals key 查看哈希表中所有的值
hincrby key field incrment 为哈希表 key 中的域 field 的值加上增量 increment
hincrbyfloat 为哈希表中的字段值加上指定浮点数增量值
hsetnx key field value 当哈希表中指定的键不存在时赋值

Set(集合)

集合是string类型的无序集合,底层由hashtable实现。

命令 说明 示例
sadd key value1 value2 ... 添加一个或多个成员到集合中
smembers key 返回集合中的所有成员
sismember key value 判断元素是否是集合中的成员
scard key 获取集合中的成员数
srem key value1 value2... 从集合中移除一个或多个成员
srandmember key n 返回集合中一个或多个随机数
spop key n 移除并返回集合中的一个或多个元素
smove source destination value 从集合source将元素value移动到集合destination
sdiff key1 key2 求两个集合的差集
sinter key1 key2 求两个集合的交集
sunion key1 key2 求两个集合的并集

Zset(有序集合)

zset和set一样也是集合,不同的是zset的每个元素都会关联一个double类型的分数。通过该分数,redis可以对zset中的元素进行排序。zset的成员唯一,但是分数score可以重复。

命令 说明 示例
zadd key score1 value1 score2 value2 向有序集合添加一个或多个成员,或者更新已存在成员的分数
zrange key start stop withscores(可选) 通过索引区间返回指定区间内的成员
zrangebysocre key score_start score_end withcores(可选) limit(可选) 通过分数返回有序集合指定区间内的成员
zrem key value1 value2 ... 移除集合内一个或多个成员
zcard key 获取有序集合的成员数
zcount key score_start score_end 计算在有序集合指定分数区间的成员数
zrank key value 返回有序集合中指定成员的索引
zrevrank key value 返回有序集合中指定成员的排名,有序集合成员按分数值递减(从大到小)排序
zrevrange key start stop withscores(可选) 返回有序集合中指定区间内的成员,通过索引, 从高到低
zrevrangebyscore key score_end score_start 返回有序集合中指定分数区间内的成员,分数从高到低排序
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯