Redis的值value(数据结构类型)

  Redis的数据结构类型,指的是redis的值的value类型;

  Redis的常用数据结构类型:string,list,set,sortedSet,hash

一.sting的类型

  string类型是redis最常见的数据结构类型,存储的值为字符串。

  1.1String相关命令

  set key value :设置一个key,值为value,类型为String类型;如果这个key已经存在,则更新这个key的值。

    返回值

      1表示成功

      0表示失败

  setnx key vale:如果这个key不存在,则设置一个key,值为value;如果key存在,则不做更新。

    返回值

      1表示成功

      0表示失败

  get key:获取对应的value值;如果key不存在,则返回nil。

  incr key:将key中存储的数字值增一,然后返回。如果这个key不存在,那么key的值会先被初始化为0,然后再执行INCR操作。如果这个key对应的value值,不能表示数字,则会返回一个错误。

  incrby key increment:将key增加指定步长。

  decr key:将key中储存的数字值减一,然后返回。如果这个key不存在,那么key的值会先被初始化为0,然后再执行INCR操作。如果这个key对应的value值,不能表示数字,则会返回一个错误。

  decrby key decrement:将key减少对应的步长值。

  append key value:如果key已经存在,则将value追加到这个key原先的value值的末尾。如果这个key不存在,则执行set操作。

  Redis的key是单线程模式,这意味着一瞬间只有一个线程能够持有这个key,所以,可以使用redis解决部分涉及线程安全的业务。

二.List类型

  1.特点

    (1)基于Linked List实现

    (2)元素是字符串类型

    (3)列表头尾增删快,中间增删慢,增删元素是常态

    (4)元素可以实现重现

    (5)最多包含2^32-1元素

  2.List类型相关命令

    lpush key value [value ...]:将一个或多个value插入到列表key的表头(即从左边插入);如果有多个value值,那么各个value值按从左到右的顺序依次插入表头;如果key不存在,一个空列表会被创建并执行LPUSH操作,当key存在但不是列表类型时,返回一个错误。

    rpush key value [value...]:尾部添加(从右向左),操作同上。

    llen key :返回key对应list长度,key不存在返回0,如果key对应类型不是list返回错误。

    lindex key index:index元素在list列表的下角标,从0开始;lindex是从左到右取元素。

    lrange key start stop:获取指定区间的所有元素;下角标从0开始,0表示第一个元素,1表示第二个,以此类推;-1表示最后一个元素,-2表示倒数第二个元素,以此类推。

    lpop key :移除并返回列表中的第一个元素。

    rpop key:移除并返回列表中的最后一个元素。

三.Hash类型(散列)

  1.特点

    (1)由Field和之关联的value组成map键值对

    (2)field和value是字符串类型;

    (3)一个hash中最多包含2^32-1键值对。

  2.Hash相关命令

    hset key field value:设置hash field为指定值,如果key不存在,则先创建,如果field已经存在那么将更新这个field的值。

    hget key field:获取指定的hash field

    hmget key filed1...fieldN:获取全部指定的hash field

    hmset key filed1 value1 ... filedN valueN:同时设置hash的多个field

    hexists key field:测试指定field是否存在

    hdel key field:删除指定的hash field

    hlen key:返回指定hash的field数量

    hkeys key:返回hash的所有field

    hvals key:返回hash的所有value

    hgetall:返回hash的所有filed和value

四:Set相关命令

  1.特点

    (1)无序的,去重的;

    (2)元素是字符串类型;

    (3)最多包含2^32-1元素。

  2.Set相关命令

    sadd key member [member  ...](无序不重复):将一个或多个 member 元素加入到集合key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。

    smembers key:返回集合 key 中的所有成员。不存在的 key 被视为空集合。

    spop key:移除并返回集合中的一个随机元素。被移除的随机元素。当key不存在或key是空集时,返回nil。

    scard key:返回集合key的基数(集合中元素的数量)。集合的基数。当key不存在时,返回0。

交集、并集、差集sinter sunion sdiff

    sinter key [key ...]:返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。

    sunion key [key ...]:返回一个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。

    sdiff key [key ...]:返回一个集合的全部成员,该集合是所有给定集合之间的差集。不存在的 key 被视为空集。

 

原文地址:https://www.cnblogs.com/Arvin66-lyh/p/10746262.html

时间: 2024-08-28 23:15:34

Redis的值value(数据结构类型)的相关文章

redis 全局命令 查看所有的键,删除键,检查键是否存在,获取过期时间,键的数据结构类型

Redis有5中数据结构,他们是键值对中的值,对于键来说,有一些通用的命令: 一.查看所有键 keys * 二.获取键总数:dbsize 三.检查键是否存在 exists 如果存在返回1,不存在返回0 四.删除键  del key [key --] 正常情况下返回结果为删除键的个数,假如删除了一个不存在的键,就返回0 同时del命令可以支持同时删除多个键 五.键过期expire key second 当redis的键超过过期时间之后,会自动删除 Ttl命令可以查看上虞的过期时间: 返回-1:键没

Redis 中 5 种数据结构的使用场景介绍

这篇文章主要介绍了Redis中5种数据结构的使用场景介绍,本文对Redis中的5种数据类型String.Hash.List.Set.Sorted Set做了讲解,需要的朋友可以参考下 一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串 Hash——字典

redis中5种数据结构的使用

一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合 下面我们就来简单说明一下它们各自的使用场景: 1. String——字符串 String 数据结构是简单的 key-valu

Redis中5种数据结构的使用场景

一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String--字符串Hash--字典List--列表Set--集合Sorted Set--有序集合 下面我们就来简单说明一下它们各自的使用场景: 1. String--字符串 String 数据结构是简单的 key-valu

Redis的5种数据结构

Redis可以存储可以存储键与5种不同数据结构类型之间的映射. 五种结构类型为:STRING(字符串).LIST(列表).SET(集合).HASH(散列).ZSET(有序集合). 1.字符串类型String String 数据结构是简单的 key-value 类型,使用string时,redis(大多数情况下)并不会理解或者解析其含义,无论使用json.xml还是 纯文本在redis看来都是一样的,只是一个字符串,只能进行strlen.append等对字符串通用的操作,无法针对其内容进一步操作.

Redis的五种对象类型及其底层实现

目录(?)[-] Redis对象类型简介 Redis对象底层数据结构 字符串对象 列表对象 哈希对象 集合对象 有序集合对象 结尾 Redis对象类型简介 Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的.比如,我们执行以下代码: redis>SET message "hello redis" 其中的key是message,是一个包含了字符串"message"的对象.而value是一个包含了"hello re

Redis第二讲【Redis基本命令和五大数据结构】

[二.Redis基本命令和五大数据结构] redis的基础知识和命令 redis 是一个单进程(包装epoll函数来对读写事件进行相应) 默认有16个数据库,初始使用的数据库为0号库 默认端口为6379 select :切换数据库 dbsize:查看当前库的key的个数 flushdb:清空当前库 flushall:清空所有库 redis的五大数据类型 key键 keys *:查看当前所有库的key 127.0.0.1:6379> keys * 1) "k1" 2) "

Redis系列(二):Redis的5种数据结构及其常用命令

上一篇博客,我们讲解了什么是Redis以及在Windows和Linux环境下安装Redis的方法, 没看过的同学可以点击以下链接查看: Redis系列(一):Redis简介及环境安装. 本篇博客我们来讲解下Redis的5种数据结构及其常用命令,5种数据结构分别为: 字符串String 列表List 集合Set 散列Hash 有序集合ZSet 注意事项:Redis可以存储键(key)值(value)对的映射,其中键(key)一直是String,而值可以是上面提到的5种数据结构中的一种. 1. 字符

Redis的5种数据结构及其常用命令

本篇博客我们来讲解下Redis的5种数据结构及其常用命令,5种数据结构分别为: 字符串String 列表List 集合Set 散列Hash 有序集合ZSet 注意事项:Redis可以存储键(key)值(value)对的映射,其中键(key)一直是String,而值可以是上面提到的5种数据结构中的一种. 1. 字符串String 在Redis中,字符串可以存储以下3种类型的值: 字节串(byte string) 整数 浮点数 经常使用的字符串命令主要分为以下3种类型: 常用命令 自增自减命令 子串