当前位置: 首页 > news >正文

[Redis]Redis的数据类型

存储String字符串,使用get,set命令,一个键最大存储512M

 

存储Hash哈希,使用HMSET和HGETALL命令,参数:键,值

例如:HMSET user:1 username taoshihan password taoshihan

HGETALL user:1

 

存储List列表,可以重复,使用命令lpush和lrange,lpush的参数:键,值1,值2…

例如:lpush infos taoshihan nan

lrange的参数:键,开始索引,结束索引

例如:lrange infos  0  -1 (-1是全部)

 

存储Set集合,不可以重复,使用命令sadd和smembers

sadd的参数:键,值1,值2…

例如:sadd users zhangsan li wangwu

smembers的参数:键

例如:smembers users

 

存储Zset有序集合,不可以重复,使用命令zadd和zrangebyscore

zadd的参数:键,分数 值1 分数2 值2…

例如:zadd members 1 zhangsan 2 li 3 wangwu

zrangebyscore的参数:键,开始索引,结束索引

例如:zrangebyscore users 0 1

 

 

知乎:redis的基本数据结构有哪些,都有什么应用?

 

李波:

简单说明如下

字符串(strings):存储整数(比如计数器)和字符串(废话。。),有些公司也用来存储json/pb等序列化数据,并不推荐,浪费内存

哈希表(hashes):存储配置,对象(比如用户、商品),优点是可以存取部分key,对于经常变化的或者部分key要求atom操作的适合

列表(lists):可以用来存最新用户动态,时间轴,优点是有序,缺点是元素可重复,不去重

集合(sets):无序,唯一,对于要求严格唯一性的可以使用

有序集合(sorted sets):集合的有序版,很好用,对于排名之类的复杂场景可以考虑

 

位图(bitmaps):这个不是新增的数据类型,只是可以把字符串类型按照单个位的形式进行操作,没有实际使用过。2016-03-03更新,网上很多人用bitmaps来做活跃用户统计和用户签到功能,性能比去数据库load高很多。

计数器(hyperloglogs,翻译待定):如名字,添加元素只记录元素个数,并不会存储元素本身,节省空间并且避免重复count,这个感觉直接用incr就可以实现

地理空间(geospatial indexes):用来做地理位置查询,比如两点之间的距离,一个点附近有多少元素,适合点比较固定的场景,或者只考虑当前位置的场景,像附近的人这种就不适合,一是需要考虑某段时间内的点,二是点经常更新,压力比较大

相关文章:

  • Leetcode题目:Balanced Binary Tree
  • 我是如何设计 Upload 上传组件的
  • 团队项目第一阶段冲刺站立会议6(4月23日)
  • You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1
  • 云HBase Spark分析引擎对接云数据库POLARDB
  • Hive基本操作
  • IDEA之配置svn
  • iPhone6 Plus、iPhone6、iPhone5S和之前版本真实分辨率
  • 云计算读书笔记(四)
  • python调用百度AI提取图片文字
  • 利用新浪微博API的Search接口做微博锐推榜
  • java中的多线程你只要看这一篇就够了
  • 查看Linux版本信息
  • Android 插件化原理-好文收集(陆续中。。。)
  • C#6.0 十大常用特性
  • 分享一款快速APP功能测试工具
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Apache Pulsar 2.1 重磅发布
  • Create React App 使用
  • javascript数组去重/查找/插入/删除
  • JS字符串转数字方法总结
  • Linux gpio口使用方法
  • Mysql数据库的条件查询语句
  • Python socket服务器端、客户端传送信息
  • SpringBoot 实战 (三) | 配置文件详解
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • yii2权限控制rbac之rule详细讲解
  • 基于web的全景—— Pannellum小试
  • 前端面试之闭包
  • 用Python写一份独特的元宵节祝福
  • MyCAT水平分库
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • (1)Nginx简介和安装教程
  • (4)事件处理——(7)简单事件(Simple events)
  • (42)STM32——LCD显示屏实验笔记
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (区间dp) (经典例题) 石子合并
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net Core 中间件验签
  • .net 反编译_.net反编译的相关问题
  • .NET导入Excel数据
  • .NET中统一的存储过程调用方法(收藏)
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [.NET]桃源网络硬盘 v7.4
  • [] 与 [[]], -gt 与 > 的比较
  • [4.9福建四校联考]
  • [C/C++] C/C++中数字与字符串之间的转换
  • [codevs1288] 埃及分数