少爷,三年期限已到,不知Redis学的如何?

72 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 @[TOC](Redis 数据类型)

五大数据类型

  1. String(字符串)
  2. Hash(哈希)
  3. List(列表)
  4. Set(集合)
  5. zset(sorted set:有序集合)

String(字符串)

介绍

  • string是redis最基本的类型,一个key对应一个value
  • string类型是二进制安全的,除普通的字符串外,也可以存放图片等数据
  • redis中字符串value最大是512M
  • redis存储中文字符时会自动转码

字符串的CURD操作

//添加和修改
set key value
当key不存在自动创建,当key存在则覆盖
//删除
del key
//获取
get key
//添加有时限的key
setex key time value
//添加多个key
mset key value [key value ...]
//获取多个key的值
mget key [key ...] 

Hash(哈希)

  • Redis hash是一个键值对集合
  • Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

Hash的CURD操作

//给key添加一个字段
hset key field value
//给key添加多个字段
hmset key field value [field value ...]
//获取指定key
hget key field
//获取全部字段
hgetall key
//删除key中某个或多个字段
hdel key field [field ...] 

List(列表)

  • 列表是简单的字符串列表,按照插入顺序进行排序,可以添加一个元素到头或者尾
  • List本质是个链表,List的元素是有序的,元素的值可以重复

List的CURD操作

//给key从头开始添加值
 lpush key value [value ...]
 //给key从尾开始添加值
rpush key value [value ...]
//获取指定区间内的元素
lrange key start stop
//删除key中的头元素
lpop key
//删除key中的尾元素
rpop key
//删除key
del key [key ...]

Set(集合)

  • Redis的Set是string类型的无序集合
  • 底层是HashTable数据结构,Set也是存放很多字符串元素,字符串元素是无序的,而且元素的值不能重复

Set的CURD操作

//添加
sadd key member [member ...]
//取出所有值
smembers key
//判断值是否是成员
sismember key member
//删除指定值
 srem key member [member ...]