首页
学习
活动
专区
圈层
工具
发布

Redis存对象和存Json的思考

前言日常使用的还是很多的,经常会用radis存储一些json数据,对象数据,但是这样偶然间会发现不同的项目根据习惯的使用不同,有些人喜欢存对象,有些人喜欢存json。...其实存json和存对象本质上到redis这边而言,它都是进行一个字符串的存储,只是会多一个类路径,然后就操作方面的区别。存储逻辑在Redis中存储对象和存储JSON数据都是常见的用法。1....存储对象:您可以将对象序列化为字节流(如pickle序列化)然后存储在Redis中。这样做可以保留对象的结构和类型信息,但在存储和检索时可能需要更多的处理。...存对象有下面这张图可以看出。下图存的是一个对象,但是它里面却包含了一个文件的路径。存对象的优点缺点在日常的存对象当中,发现不需要像json字符串一样需要进行反序化,反序列化来反序列化去。...存储JSON的缺点:丢失了对象的结构和类型信息,需要在反序列化后手动处理数据类型。不适合存储复杂的对象结构,可能需要额外的处理来处理嵌套数据。总结无论是存储对象或者存储json这个东西不能一概而论。

1.7K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis是否可以存图片、视频?

    那Redis同样也是Json类型的远程数据字典服务器,也可以用于存储图片、视频。实际Redis可以用512MB的空间存储用于存储字符串型的数据。...我一直有个好奇,Redis采用key区分不同的数据,面临复杂的网页、程序,如何进行数据的编号。 Redis有默认的数据编码规则。...通过该方式,向Redis中存放、读取数据,将使key具有可读性。 三、Redis是否支持主从复制、数据分片?...像MongoDB一样,后起之秀,一般对复制、分片是原生支持,比起Mysql等关系数据库系统的复杂配置,Redis已经可以原生支持这两个功能,而且配置非常简单。...四、对主、备数据库的自动切换,Redis支持能力如何?

    10.7K20

    Java List 中存不同的数据类型

    在最近的实践中,有人突然问了一个问题:在 Java 的 List 中可以存不同的数据类型吗?...testList 中存的对象都是 String 字符串了。...解答List 中是可以存不同的数据类型的。但是在定义的时候需要定义成: List testList = new ArrayList();,不能为要使用的 List 指定数据类型。...实战在实际的编码中,我们通常都会为我们的 List 指定数据类型。这个数据类型可以是任何数据类型或者对象,这样可以保证我们的 List 中存的数据类型只有一种数据类型。...我们会尽量避免在使用的时候对数据进行转换,例如上面的情况,我们 List 对象中存的是对象,我们不知道我们的对象是 Stirng 还是 Long,这个时候要猜。

    2.1K70

    Redis 数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。...意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。 string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。...实例: Hash(哈希) Redis hash 是一个键值(key=>value)对集合。...并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去) 每个 hash 可以存储 232 -1 键值对(40多亿...应用场景 存储、读取、修改用户属性 List(列表) Redis 列表是简单的字符串列表,按照插入顺序排序。

    64140

    Redis笔记(二):Redis数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。...意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。...实例 redis 127.0.0.1:6379> SET name "runoob" OK redis 127.0.0.1:6379> GET name "runoob" 在以上实例中我们使用了 Redis...> ZRANGEBYSCORE runoob 0 1000 1) "mongodb" 2) "rabitmq" 3) "redis" 各个数据类型应用场景: 类型 简介 特性 场景 String(字符串...Hash(字典) 键值对集合,即编程语言中的Map类型 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去

    1K20

    redis介绍,redis安装,redis持久化,redis数据类型

    这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。...增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,这种类似于mysql binlog。...设置可以存二进制的对象。...命令行中也可以使用tap键来补全命令,而且redis的命令并不区分大小写,和mysql一样。...因为 Redis 非常人性化的为集合提供了求交集、并集、差集等操作,那么就可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端或者是存集到一个新的集合中

    1.4K41

    Redis之数据类型

    当前库就没有了,被移除了 expire key 秒钟:为给定的key设置过期时间 ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期 type key 查看你的key是什么类型 2、Redis...简单一句话,先get然后立即set 5、Redis列表(List) 4.1、常用 4.2、单值多value 案例 lpush/rpush/lrange lpop/rpop lindex...6、Redis集合(Set) 6.1、常用 6.2、单值多value 6.3、案例 sadd/smembers/sismember scard,获取集合里面的元素个数 srem key value...key1里某个值 作用是将key1里的某个值赋给key2 数学集合类 差集:sdiff 在第一个set里面而不在后面任何一个set里面的项 交集:sinter 并集:sunion 7、Redis...8、Redis有序集合Zset(sorted set) 在set基础上,加一个score值。

    47730

    Redis专题(二)——Redis数据类型(1)

    Redis专题(二)——Redis数据类型(1) (原创内容,转载请注明来源,谢谢) 一、概述 Redis是一种Key-Value类型的数据库,属于非关系型数据库,NoSQL的一种。...Redis共有5种数据类型:字符串(string)、散列(hash)、列表(list)、集合(set)、有序集合(zset)。 1、通配符 Redis支持部分通配符,包括?...也可以使用redis-cli DEL “user*”的方式删除。 5、获取键的数据类型 TYPE TYPEtest 可以获取test键的数据类型,返回值即上述五种数据类型中的一种。...二、字符串类型(String) 字符串是redis的最基本数据类型,其他的数据类型可以看作是各种方式把字符串集合在一起的类型。字符串的一个键允许存储512MB的值,因此可以存放绝大多数的内容。...1)id可以选用文章在数据库(如mysql)中的id。如果文章不用数据库存储,而用redis,则也可以自制自增的id。

    1.9K70

    Redis 数据类型总结

    String 类型简介 字符串Strings是Redis最基本的数据类型,它是二进制安全的。一个Redis字符串可以包含任何类型的数据,比如jpg图片或者序列化的对象。...String 类型的应用场景 字符串是最常用的数据类型,常见的使用场景有: 缓存:将查询结果缓存到字符串中,下次查询直接从Redis获取,提高系统性能。...Lists 实现原理 Redis的List数据类型是通过双向链表实现的,这使得在列表的头部和尾部插入或删除元素的操作非常高效。...例如,你可以使用Redis的List数据类型来实现一个消息队列,其中生产者将消息添加到列表的一端,消费者则从另一端取出消息。 四、集合 Set 1....Bitmap 简介 Redis并没有专门的Bitmap数据类型,但是它提供了一系列的位操作命令,使得我们可以把字符串当作Bitmap来使用。

    84111
    领券