zoukankan      html  css  js  c++  java
  • 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 键 值 值...]
  • 相关阅读:
    剑指 Offer 22. 链表中倒数第k个节点
    剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
    Leetcode1450. 在既定时间做作业的学生人数
    Leetcode1572. 矩阵对角线元素的和
    Leetcode 1480. 一维数组的动态和
    Idea连接数据库报错
    Java实现二叉树层次遍历并存入List的方法:从上往下,从左往右
    SpringCloud资源网站
    Java循环对list进行remove
    Java中字符串判空的正确打开方式
  • 原文地址:https://www.cnblogs.com/pangqianjin/p/14406586.html
Copyright © 2011-2022 走看看