Redis的五大数据类型和CRUD操作

Redis的五大数据类型

String(字符串),Hash(哈希),List(链表),Set(集合),zset(sorted set:有序集合)

String(字符串)

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

  • 增/改:[set 键 值]
  • 查:[get 键]
  • 删:[del 键]
  • 设置有效时间:[setex 键 时间(秒) 值]
  • 一次性设置一个或多个key-value: [mset 键 值 键 值 键 值...]
  • 一次性获取多个key-value: [mget 键 键...]

Hash(哈希,类似Golang中的map)

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

  • 增/改:[hset 键 字段名 字段值],如 hget user1 name "tom"
  • 查:[hget 键 字段名],如 hget user name
  • 删:[hdel 键 字段名]
  • 统计有多少个元素:[hlen]
  • 查看某个键是否有某个字段名:[hexists 键 字段名]
  • 一次性设置多个:[hmset 键 字段名 字段值 字段名 字段值...]
  • 一次性获取所有:[hgetall]

List(列表)

list是一个简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边);
list的本质是个链表,其中的元素是有序的,元素的值可以重复。

  • 增(头部插入):[lpush 键 值 值 值...]
  • 增(尾部插入):[rpush 键 值 值 值...]
  • 改:[lset 键 下标 值]
  • 查:[lindex 键 下标]
  • 遍历 (闭区间):[lrange 键 起始下标 结束下标]
  • 长度:[llen 键]
  • 弹出(头部弹出):[lpop 键]
  • 弹出(尾部弹出):[rpop 键]
  • 删:[del 键]

Set(集合)

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

  • 增:[sadd 键 值 值 值...]
  • 查看所有元素:[smembers 键]
  • 查:[sismember 键 值]
  • 随机弹出一个元素:[spop 键]
  • 删除一个或多个指定元素:[srem 键 值 值...]
posted @ 2021-02-16 14:01  pangqianjin  阅读(155)  评论(0编辑  收藏  举报