Redis 二:数据操作

数据操作

  • redis是key-value的数据,所以每个数据都是一个键值对
  • 【键】的类型是【字符串】
  • 【值】的类型分为五种:
    • 【字符串string】
    • 【哈希hash】 (加密)
    • 【列表list】
    • 【集合set】
    • 【有序集合zset】
  • 数据操作的全部命令,可以查看中文网站
  • 接下来逐个介绍操作各类型的命令

-----------------------------------------------------------------

string

  • string是redis最基本的类型
  • 最大能存储512MB数据
  • string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等

命令

设置

  • 设置键值

set key value

  • 设置键值及过期时间,以秒为单位

SETEX key seconds value

  • 设置多个键值

MSET key value [key value ...]

获取

  • 根据键获取值,如果不存在此键则返回nil

GET key

  • 根据多个键获取多个值

MGET key [key ...]

运算

  • 要求:值是数字
  • 将key对应的value加1

INCR key

  • 将key对应的value加整数

INCRBY key increment

  • 将key对应的value减1

DECR key

  • 将key对应的value减整数

DECRBY key decrement

其它

  • 追加值

APPEND key value

  • 获取值长度

STRLEN key

------------------------------------------------------------------------------------------------

键的命令

  • 查找键,参数支持正则

KEYS pattern

  • 判断键是否存在,如果存在返回1,不存在返回0

EXISTS key [key ...]

  • 查看键对应的value的类型

TYPE key

  • 删除键及对应的值

DEL key [key ...]

  • 设置过期时间,以秒为单位
  • 创建时没有设置过期时间则一直存在,直到使用使用DEL移除

EXPIRE key seconds

  • 查看有效时间,以秒为单位

TTL key

---------------------------------------------------------------------------------

hash

  • hash用于存储对象,对象的格式为键值对

命令

设置

  • 设置单个属性

HSET key field value

  • 设置多个属性

HMSET key field value [field value ...]

获取

  • 获取一个属性的值

HGET key field

  • 获取多个属性的值

HMGET key field [field ...]

  • 获取所有属性和值

HGETALL key

  • 获取所有的属性

HKEYS key

  • 返回包含属性的个数

HLEN key

  • 获取所有值

HVALS key

其它

  • 判断属性是否存在

HEXISTS key field

  • 删除属性及值

HDEL key field [field ...]

  • 返回值的字符串长度

HSTRLEN key field

存 : HSET py3 name "郭靖"

取 : hget py3 name

--------------------------------------------------------------------------------------------

list

  • 列表的元素类型为string
  • 按照插入顺序排序
  • 在列表的头部或者尾部添加元素

命令

设置

  • 在头部插入数据

LPUSH key value [value ...]

  • 在尾部插入数据

RPUSH key value [value ...]

  • 在一个元素的前|后插入新元素

LINSERT key BEFORE|AFTER pivot value

  • 设置指定索引的元素值
  • 索引是基于0的下标
  • 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素

LSET key index value

获取

  • 移除并且返回 key 对应的 list 的第一个元素

LPOP key

  • 移除并返回存于 key 的 list 的最后一个元素

RPOP key

  • 返回存储在 key 的列表里指定范围内的元素
  • start 和 end 偏移量都是基于0的下标
  • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素

LRANGE key start stop

其它

  • 裁剪列表,改为原集合的一个子集
  • start 和 end 偏移量都是基于0的下标
  • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素

LTRIM key start stop

  • 返回存储在 key 里的list的长度

LLEN key

  • 返回列表里索引对应的元素

LINDEX key index

-------------------------------------------------------------------------------------

set

  • 无序集合
  • 元素为string类型
  • 元素具有唯一性,不重复

命令

设置

  • 添加元素

SADD key member [member ...]

获取

  • 返回key集合所有的元素

SMEMBERS key

  • 返回集合元素个数

SCARD key

其它

  • 求多个集合的交集

SINTER key [key ...]

  • 求某集合与其它集合的差集

SDIFF key [key ...]

  • 求多个集合的合集

SUNION key [key ...]

  • 判断元素是否在集合中

SISMEMBER key member

---------------------------------------------------------------------------------

zset

  • sorted set,有序集合
  • 元素为string类型
  • 元素具有唯一性,不重复
  • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
  • 元素的score可以相同

命令

设置

  • 添加

ZADD key score member [score member ...]

获取

  • 返回指定范围内的元素

ZRANGE key start stop

  • 返回元素个数

ZCARD key

  • 返回有序集key中,score值在min和max之间的成员

ZCOUNT key min max

  • 返回有序集key中,成员member的score值

ZSCORE key member

猜你喜欢

转载自blog.csdn.net/qq_26128879/article/details/82595148
今日推荐