精华内容
下载资源
问答
  • redis的数据类型

    万次阅读 2020-08-14 09:19:38
    这个是类似map的一种结构,这个一般就是可以将结构化的数据.比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在redis里,然后每次读写缓存的时候,可以就操作hash里的某个字段 Hash类的数据结构,主要是用来存放一些...

    1.String
    最基本的结构,普通的set和get,做简单的keyvalue缓存
    2.hash
    这个是类似map的一种结构,这个一般就是可以将结构化的数据.比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在redis里,然后每次读写缓存的时候,可以就操作hash里的某个字段
    Hash类的数据结构,主要是用来存放一些对象,把一些简单的对象给缓存起来,后续操作的时候,你可以直接修改这个对象的某个字段的值
    3.list
    有序列表,比如可以通过list存储一些列表型的数据结构,类似粉丝列表,文章评论列表之类的东西
    比如可以通过lrange命令,就是从某个元素开始读取多少个元素,可以基于list实现分页查询,这个很棒的一个功能,基于redis实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西,性能高,就一页一页走
    比如可以搞个简单的消息队列,从list头进去,从list尾巴里出来
    4.set
    无序集合,自动去重
    直接基于set将系统里需要去重的数据扔进去,自动就给去重了,如果你需要对一些数据进行快速的全局去,你当然也可以使用jvm内存的HashSet进行去重,但是如果你的某个系统部署在多台机器上呢?那就得基于redis在进行全局的set去重
    也可以基于set做交集,并集,差集的操作,比如交集,可以把两个人的粉丝列表整一个交集,看两人的共同好友是谁?
    5.sorted set
    排序的set,去重但是可以排序,写进去的时候给一个分数,自动根据分数排序,这个可以玩很多的花样,最大的特点是有个分数可以自定义排序规则
    比如你想要根据时间做数据排序,那么可以写入进去的时候用某个时间作为分数,人家自动就给你按照时间排序了

    展开全文
  • Redis的数据类型

    千次阅读 2020-03-22 18:32:19
    redis的数据类型 redis当中一共支持五种数据类型,分别是string字符串类型,list列表类型,集合set类型,hash表类型以及有序集合zset类型,通过这五种不同的数据类型,我们可以实现各种不同的功能,也可以应用与...

     

    redis的数据类型

    redis当中一共支持五种数据类型,分别是string字符串类型,list列表类型,集合set类型,hash表类型以及有序集合zset类型,通过这五种不同的数据类型,我们可以实现各种不同的功能,也可以应用与各种不同的场景,接下来我们来看看五种数据类型的操作语法

    redis当中各种数据类型结构如上图:

    redis当中各种数据类型的操作

    https://www.runoob.com/redis/redis-keys.html

     

    1、redis当中对字符串string的操作

    下表列出了常用的 redis 字符串命令

    CRUD

    功能

    示例

    添加字符串

    set  hello world

    设置多个KV

    mset AA AAA BB BBB CC CCC

    设置过期时间

    setex hello1  5 word1

    key不存在时设置

    setnx  hello2  word22

    查询字符串

    get  hello

    查询部分

    getrange hello 0 2

    查询多key

    mget hello hello2 hello3

    查询长度

    strlen  hello

    修改字符串

    set  hello  world2

    追加

    append hello 333

    删除字符串

    del  hello

    其他

    现获取后设置

    getset hello word222

    替换

    setrange hello22 2 AA

    累加1

    incr  number

    累加N

    incrby  number  10

    累加小数

    incrbyfloat  number 0.5

    减一(只对integer有效)

    decr number

    减N

    decrby  number 3

     

     

    2、redis当中对hash列表的操作

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

    Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)

     

    下表列出了 redis hash 基本的相关命令:

     

    CRUD

    功能

    示例

    添加一个hash列表

    hset hkey1 name zhangsan

    不存在时添加

    hsetnx hkey2 name lisi

    一次设置多个值

    hmset hkey3 name wangwu age 20 sex 1

    查看数据

    hget hkey1 name

    查看是否存在

    hexists hkey3 name

    查询key下所有值

    hgetall hkey3

    查询key内所有的字段

    hkeys hkey3

    查询key的数据量

    hlen hkey3

    查询某一key内多字段的值

    hmget  hkey3 name age

    修改数据

    hset hkey1 name zhangsan2

    删除key中的数据

    hdel hkey3 sex

    其他

    数据累加(1-N)

    hincrby hkey number1 10

    累加小数

    hincrbyfloat  hkey number1 0.5

     

     

    3redis当中对list列表的操作

    Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

    一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

     

    下表列出了列表相关的基本命令

     

     

     

    CRUD

    功能

    示例

    添加一个或多个值到列表

    lpush lkey1 zhangsan lisi

    将一个值插入到已存在的列表头部

    lpushx lkey1 wangwuxxx

    向已经存在的列表中插入数据(右边插入)

    rpush lkey1 AA  BB

    将一个值插入到已存在的列表尾部

    rpushx  lkey1 ccc

    在某一数据之前插入

    linsert lkey1 before lisi lisibefore

    在某一数据之后插入

    linsert lkey1 after lisi lisiafter

    查询list中所有数据 (-1表示所有)

    lrange lkey1 0 -1

    通过索引查询数据

    lindex lkey1 0

    查询列表长度

    llen lkey1

    通过索引修改数据

    lset lkey1 5 eee

    数据修剪(保留)

    ltrim lkey1 4 6

    删除指定key数据

    del lkey1

    其他

    移出并获取列表的第一个元素

    lpop lkey1

    移出并获取列表的最后一个元素

    rpop lkey1

    移除列表的最后一个元素,并将该元素添加到另一个列表并返回

    rpoplpush lkey1 lkey2

     

     

    4redis操作set集合

     

    redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

    Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

    集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

     

    下表列出了 Redis 集合基本命令:

     

     

    CRUD

    功能

    示例

    向集合添加一个或多个数据

    sadd skey1  zhangsan  lisi

    sadd skey2  wangwu  lisi

    查询集合所有数据

    smembers skey1

    查询集合内数据总量

    scard skey1

    查询两个集合的差值

    sdiff skey1 skey2

    查询差值并将结果写入新集合

    sdiffstore  skey3  skey1 skey2

    查询两个集合交集

    sinter skey1 skey2

    查询两个集合交集结果写入新集合

    sinterstore skey4 skey1 skey2

    查询某一数据是否包含在集合中

    sismember skey1 zhangsan

    返回集合内随机的N个数据

    srandmember skey2 2

    查询并集

    sunion skey1  skey2

    查询并集结果写入新集合

    sunionstore skeyn  skey1  skey2

    将数据在一个集合移动到另一个集合

    smove skey1 skey2 zhangsan

    移除结果中的某个数据

    srem skey2 zhangsan

     

     

    5redis中对key的操作

    下表给出了与 Redis 键相关的基本命令:

     

    CRUD

    功能

    示例

     查

    查询所有符合模式的key

    Keys *

    查询剩余过期时间(毫秒)

    pttl  hkey1

    查询剩余过期时间(秒)

    ttl  hkey1

    在数据库中随机回返一个key

    randomkey

    查询key对应数据的类型

    Type hkey1  

    对key进行重命名

    Rename  hkey1  hkey10

    删除存在的key

    del BB

    其他

    判断key是否存在

    exists AA

    为key 设置超时时间

    expire AA 10

    为key 设置超时时间(毫秒)

    pexpire CC  10000

    移除key的过期时间

    persist hkey1

     

     

    6、redis当中数据库

    Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。 

    Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与我们熟知的在一个关系数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典都理解成一个独立的数据库。

    每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),可以通过配置databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,如要选择1号数据库:

    node01:6379> select 1

    node01:6379[1]> keys *

     

    清空redis数据库当中的数据

    node01:6379> flushdb

    清空所有redis数据库当中的数据

    node01:6379> flushall

    展开全文
  • Redis学习(三):Redis的数据类型

    千次阅读 2020-03-12 22:56:05
    学习目标Redis 的数据类型Redis 当中对 String字符串的操作Redis 当中对 Hash 列表的操作Redis 当中对 List 列表的操作Redis 当中对 Set 集合的操作Redis 当中对 Key 的操作Redis 当中的数据库 Redis 的数据类型 ...

    Redis 的数据类型

    redis当中一共支持五种数据类型,分别是string字符串类型list列表类型集合set类型hash表类型以及有序集合zset类型,通过这五种不同的数据类型,我们可以实现各种不同的功能,也可以应用与各种不同的场景,接下来我们来看看五种数据类型的操作语法

    redis当中各种数据类型结构如下图:
    在这里插入图片描述
    redis当中各种数据类型的操作
    https://www.runoob.com/redis/redis-keys.html

    Redis 当中对 String字符串的操作

    下表列出了常用的 redis 字符串命令
    在这里插入图片描述

    Redis 当中对 Hash 列表的操作

    • Redis hash 是一个String类型的 field 和 value 的映射表,hash特别适合用于存储对象。
    • Redis 中每个 hash 可以存储 232 - 1 键值对 (40多亿)

    下表列出了 redis hash 基本的相关命令:
    在这里插入图片描述

    Redis 当中对 List 列表的操作

    • Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
    • 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

    下表列出了列表相关的基本命令:
    在这里插入图片描述

    Redis 当中对 Set 集合的操作

    • redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
    • Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
    • 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

    下表列出了 Redis 集合基本命令:
    在这里插入图片描述

    Redis 当中对 Key 的操作

    下表给出了与 Redis 键相关的基本命令:
    在这里插入图片描述

    Redis 当中的数据库

    Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。

    Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与我们熟知的在一个关系数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典都理解成一个独立的数据库。

    每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),可以通过配置databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,如要选择1号数据库:

    node01:6379> select 1
    node01:6379[1]> keys *
    

    清空redis数据库当中的数据

    node01:6379> flushdb
    

    清空所有redis数据库当中的数据

    node01:6379> flushall 
    
    展开全文
  • Redis的数据类型简介

    2017-11-12 15:56:22
    Redis 的五大数据类型Redis的数据类型很多,这五个只是常用的。 String(字符串) String 是 Redis 最基本的类型,你可以理解与 Memcached 一模一样的类型,一个 Key 对应一个 Value。 String 类型是二进制安全的。...

    Redis 的五大数据类型

    Redis的数据类型很多,这五个只是常用的。

    • String(字符串)
    String 是 Redis 最基本的类型,你可以理解与 Memcached 一模一样的类型,一个 Key 对应一个 ValueString 类型是二进制安全的。意思是 Redis 的 String 可以包含任何数据。比如 JPG 图片或者序列化的对象。
    String 类型是 Redis 最基本的数据类型,一个 Redis 中字符串 Value 最多可以是 512MB。这个大小是理论值,但是拜托不要把内存当成硬盘使用。
    • Hash(哈希,类似 Java 里的Map)
    Redis Hash 是一个键值对集合。
    Redis Hash 是一个 String 类型的 Field 和 Value 的映射表,Hash 特别适合用于存储对象。
    类似 Java 里面的 Map<String,Object>
    • List(列表)
    Java 中的 List接口有两个常用实现类:ArrayList (初始化值为10)、LinkedList(双端循环链表)。
    
    Redis 列表是简单的字符串列表,按照插入顺序排列。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
    它的底层实际是个双向链表。
    • Set(集合)
    Java 中的 Set 和 ArrayList 、 LinkedList 类似,但又不一样,因为 Set 是无序不能重复的。
    
    Redis 的 SetString 类型的无序集合。它是通过 HashTable 实现的。所以没有重复。
    • Zset(sorted set :有序集合)
    Redis zset 和 set 一样也是 String 类型元素的集合,且不允许重复的成员。
    
    不同的是每个元素都会关联一个double类型的分数。
    
    Redis 正是通过分数来为集合中的成员进行从小到大的排序。zset 的成员是唯一的,但分数(score)却可以重复。

    哪儿里去获得 Redis 常见数据类型操作命令???

    Redis最全官方中文文档

    展开全文
  • 快速入门Redis系列(2)——Redis的数据类型详解

    千次阅读 多人点赞 2020-03-12 21:25:18
    作为快速入门Redis系列的第二篇博客,本篇为大家介绍的是Redis的数据类型。         码字不易,先赞后看! 文章目录1. redis的数据类型1.1 redis 当中对字符串string的操作...
  • 人就是很奇怪的动物,很简单的问题往往大家都容易忽略,当我们在使用分布式缓存Redis的时候,一个最简单的问题Redis的数据类型以及每种数据类型的使用场景是什么? 是不是觉得这个问题很基础?我也这么觉得。然而...
  • Redis数据库的学习与实践—redis的数据类型 Redis的数据类型: 1:Strings类型及操作:   String类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的。Redis的String可以包含任何数据,...
  • [OTC](NoSql之Redis系列一: Redis的数据类型和基本使用) Redis简介及特点 Redis是一个开源高效率的Key-Value数据库. 支持多种数据结构 string, list, set, zset, hash, 并支持push, pop, 交并差集等多种操作, ...
  •  redis 基础内容 —— redis的数据类型及相关操作的Linux命令。所谓大厦千层基础承载,希望大家认真学习这一讲: 一、redis 的五大数据类型: 1、String(字符串); 2、List(列表); 3、Set(集合
  • redis入门——redis的数据类型

    千次阅读 2012-12-27 23:30:33
    redis的数据类型有:string、hashes、lists、sets,sorted sets 1、string类型:  set、get添加键值对获得键值对、如果多次赋值会覆盖掉原来的value  setnx会自动判断是否存在,如果存在返回0不存在返回1,并且...
  • redisObject 数据结构,以及 Redis 的数据类型 redisObject 是 Redis 类型系统的核心, 数据库中的每个键、值,以及 Redis 本身处理的参数, 都表示为这种数据类型。 redisObject 的定义位于 redis.h : /* * Redis...
  • 初识Redis的数据类型HyperLogLog

    千次阅读 2020-07-01 22:46:44
    未来一段时间开发的项目或者需求会大量使用到Redis,趁着这段时间业务并不太繁忙,抽点时间预习和复习Redis的相关内容。刚好看到博客下面的UV和PV统计,想到了最近看书里面提到的HyperLogLog数据类型,于是花点时间...
  • Redis 的数据类型介绍与命令操作

    千次阅读 2015-12-02 17:11:02
    Redis 的数据类型介绍与命令操作@(redis)[数据类型|redis]1. String 类型 二进制安全的 保存序列化之后的图片等 一个键最多存储512MB 一些命令操作1. SET: 设置key对应的值为value 语法: SET key value [EX seconds]...
  • 根据redis官网提供的命令,好想是只有key 和string类型的数据可以直接设置过期时间,其他的都没有明确说。 本文仅是个人看法,如有不对希望各位大哥指正 redis官网 key的官方api ,这里面有相对应api redis的string...
  •  注意:也可以在VS中通过 Nuget直接装到你...Redis目前提供五种数据类型:string(字符串)、list(链表)、Hash(哈希)、set(集合)及zset(sorted set) (有序集合)。下面我们来一一实践一下。 1、String类型
  • String(字符串)(适合存储任意数据类型) set key value:往redis库中存储指定key-value键值对 get key:在当前数据中根据指定key获取对应value值 mset:同时往当前库中设置多个键值对 mget:同时获取多个...
  • redis的数据类型和存储结构

    千次阅读 2018-09-26 12:57:34
    Redis(remote dictionary server)是一个基于KEY-VALUE的高性能的 存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求 。 二。redis的存储结构 Redis比memached提供了更丰富的数据结构,有五种...
  • Redis常用数据类型Redis最为常用的数据类型主要有以下五种:  ●String  ●Hash  ●List  ●Set  ●Sorted set  在具体描述这几种数据类型之前,我们先通过一张图了解下Redi
  • 1、什么是Redis? Redis是一款内存高速缓存...redis与memcache不同点是,存储在redis的数据是持久化的,断电或重启数据也不会丢失。因为redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,redis可以重新将...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,885
精华内容 13,154
关键字:

redis的数据类型

redis 订阅