zoukankan      html  css  js  c++  java
  • Redis学习笔记(一):Redis的数据类型

      之前笔者常常接触的数据库是关系型数据库,其中MySQL接触居多。近年来NoSQL兴起,各种新型数据库不断诞生,redis就是NoSQL中的一种热门数据库。
      注:此类文章仅仅作为笔者的学习和阅读积累,若有出错之处,敬请谅解。

    一、redis的数据类型

      对于redis数据库的介绍,这里就不说了,大家可自行百度,简单来说redis就是以“键值对”形式存储数据的数据库。首先作为一种数据库,对于存储的数据,其必然存在相应的数据存储类型定义,笔者先从redis的存储数据类型说起。
      redis数据库存在5种数据类型,分别为:字符串(String)、列表(list)、集合(set)、散列(hash)、有序集合(zset)。
     

    (1)字符串

      字符串在redis甚至在各大数据库中,都作为最基本的数据类型,可存储的值包括字符串、整数或者浮点数。
      redis操作字符串数据常用命令:
    命令
    说明
    基础用法
    set
    设置存储给定键的值
    set [key] [value]
    get
    获取给定键的值
    get [key]
    del
    删除给定键的值
    del [key]
     

    (2)列表

      可将redis的列表看作一种“双向队列”,该数据结构允许在其前后两端添加/删除元素。
      redis操作列表数据常用命令:
    命令
    说明
    基础用法
    lpush
    将给定值插入列表前端
    lpush [key] [value]
    lpop
    从列表前端弹出并返回一个值
    lpop [key]
    rpush
    将给定值插入列表后端
    rpush [key] [value]
    rpop
    从列表后端弹出并返回一个值
    rpop [key]
    lindex
    获取列表给定索引上的单个元素值
    lindex [key] [index]
    lrange
    获取列表给定范围中的所有元素值
    lrange [key] [startIndex] [endIndex]
     

    (3)集合

      redis和集合和列表都可存储多个字符串,区别在于列表可存储多个相同的字符串,而集合保证存储的元素的唯一性。集合存储元素的方式是无序的。
      redis操作集合数据常用命令:
    命令
    说明
    基础用法
    sadd
    将给定元素添加进集合中
    sadd [key] [value]
    srem
    删除集合中的给定元素
    srem [key] [value] 
    sismember
    检查给定元素是否存在于集合中
    sismember [key] [value]
    smembers
    返回集合中的所有元素
    smembers [key]
     

    (4)散列

      redis的散列的值可以存储多个键值对的映射,键无序且不可重复。
      redis操作散列数据常用命令:
    命令
    说明
    基础用法
    hset
    将给定的键值对添加到散列中
    hset [key] [field] [value]
    hget
    获取指定散列键的值
    hget [key] [field]
    hdel
    删除散列中指定的键(连带值)
    hdel [key] [field]
    hgetall
    获取散列中的所有键值对
    hgetall [key]
     
     

     (5)有序集合

      有序集合和散列一样用于存储键值对信息,键和散列的要求一样,不同的是有序集合的值被称为“分值(score)”,分值必须是浮点数。有序集合既可以根据键访问成员,也可以根据分值来访问成员。有序集合的键值对按照分值大小进行排序。
      redis操作有序集合数据常用命令:
    命令
    说明
    基础用法
    zadd
    将给定键值对添加到集合中
    zadd [key] [score] [field]
    zrem
    删除集合中指定的键(连带值)
    zrem [key] [field]
    zrange
    获取集合中指定索引范围的键值对
    zrange [key] [startIndex] [endIndex](可选“withscores”参数输出分值)
    zrangebyscore
    获取集合中指定分值范围的键值对
    zrangebyscore [key] [minScore] [maxScore]
     
     

      关于五种数据类型以及Redis的更多操作命令,可到此网站下进行查询和了解。

  • 相关阅读:
    记录一些经常被忽略的结论
    Eclipse 各种问题解决记录
    Feign 动态URL 解决记录
    Nacos 启动失败
    多git账号配置解决方案
    记一次java.lang.StackOverflowError
    StringBuilder 以及 StringBuffer默认大小与扩容
    MySQL索引背后的数据结构及原理
    我没有高并发项目经验,但是面试的时候经常被问到高并发、性能调优方面的问题,有什么办法可以解决吗?
    istio 学习之 手动注入sidecar
  • 原文地址:https://www.cnblogs.com/yjry-th/p/11314398.html
Copyright © 2011-2022 走看看