1、概述
Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。
键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。
Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能。
2、数据类型及相应操作
数据类型 | 可以存储的值 | 操作 |
---|
STRING | 字符串、整数或浮点数 | 字符串操作、数字自增减 | LIST | 列表 | 两端压入或弹出、元素修剪、保留范围内元素 | SET | 无序集合 | 添加获取移除元素、contains、交并差 | ZSET | 有序集合 | 添加获取移除元素、计算键的排名 | HASH | 键值对的无序散列表 | 添加获取移除键值对、containsKey |
3、常用命令
3.1 全局命令
查看所有键:keys * 查看键总数:dbsize 查看键是否存在:exists key 删除键:del key 设置键过期:expire key seconds/时间戳
3.2 字符串STRING类型
设置值:set key value key不存在才设置值:setnx key存在更新值:set key value xx 获取值:get key 自增减;incr key,decr key,incrby,decrby 追加:append key 追加的串 字符串长度:strlen 设置并返回原值:getset 设置指定位置的字符:setrange key 下标 设置的值 得到指定位置的字符:setrange key 下标开始 结束
3.3 列表LIST类型
前缀为l
lpush,lpop,rpush,rpop lrange 开始 结束:获取指定范围内元素 lrem key count 要删除的元素:count>0从左到右删最多count个,<0从右到左,=0全删 ltrim key 开始 结束:保留开始到结束闭区间的元素 lset key 下标 修改的值:修改值 lindex:获取指定下标元素 llen:获取列表长度
3.4 集合SET类型
前缀为s
sadd srem scard:计算元素个数 sismember:相当于contains srandmember:从集合中堆积返回数字 spop:随机弹出,弹出后集合中会删除 smembers:列出所有元素 sinter,sunion,sdiff:交并差
3.5 有序集合ZSET类型
前缀为z 有序集合给每个元素设置一个分数(score)作为排序的依据
zadd key score 元素:往key这个zset里加分数为score的元素,有nx,xx选项 zcard:返回成员个数 zscore:返回成员分数 zrank:计算成员排名 zrem:删除成员 zincrby:增加成员分数
3.6 散列表HASH类型
前缀为h 对于过期时间,只能对整个键设置过期时间,而不能对表中具体某个键值对设置过期时间
hset key field value:给名为key的hash表里添加field-value键值对 hget hdel hhexists hkeys:获取键集合 hvals:获取值集合 hgetall:获取键值集合 hincrby:增加
|