Redis入门基础数据类型

本文介绍了Redis的基础数据类型,包括String、List、Set、Hash、ZSet、Geospatial、Hyperloglog和Bitmap,及其在发布订阅、计时计数、消息队列、数据存储和地理位置应用中的使用。Redis作为内存数据库,提供了高效的数据操作和管理功能。
摘要由CSDN通过智能技术生成

Redis入门基础数据类型

1 概述

Redis(Remote Dictionary Server),远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,提供多种语言的API。
redis的使用场景:

  • 发布订阅系统
  • 地图信息分析
  • 计时器、计数器(浏览量)

2 基础数据类型

String

String是Redis中最常用的一种数据类型,也是Redis中最简单的一种数据类型。首先,表面上它是字符串,但其实他可以灵活的表示字符串、整数、浮点数3种值。Redis会自动的识别这3种值。
相关操作:

命令说明
set添加
get获取
APPEND追加
EXISTS判断是否存在
STRLEN获取长度
INCR自增
DECR自减
GETRANGE截取字符串
SETRANGE替换部分字符串
SETEX设置过期时间
SETNX不存在设置

List

  • 实际上是一个链表,before Node after , left,right 都可以插入值
  • 如果key 不存在,创建新的链表
  • 如果key存在,新增内容
  • 如果移除了所有值,空链表,也代表不存在!
  • 在两边插入或者改动值,效率最高! 中间元素,相对来说效率会低一点~
  • 消息排队!消息队列 (Lpush Rpop), 栈( Lpush Lpop)!
命令说明
lpush左插入
lrange查询集合
rpush右插入
lpop左移除
rpop右移除
lindex查询指定下标元素
llen获取集合长度
lrem根据value移除指定的值
ltrim截取元素
rpoplpush移除指定集合中最后一个元素到一个新的集合中
lset更新
linsert在某元素的前(before)后(after)添加一个元素

Set

可实现共同好友、共同关注等需求。

命令说明
sadd添加
smembers查看所有元素
sismember判断是否存在
scard查看长度
srem移除指定元素
srandmember抽随机
spop随机删除元素
smove移动指定元素到新集合中
sdiff差集
sinter交集
sunion并集

Hash

比String更加适合存对象

命令说明
hset添加hash
hget查询
hgetall查询所有
hdel删除hash中指定的值
hlen获取hash的长度
hexists判断key是否存在
hkeys获取所有key
hvals获取所有value
hincrby给值加增量
hsetnx存在不添加

zSet

成绩表排序,工资表排序,年龄排序等需求可以用zset来实现!

命令说明
zadd添加
zrange查询
zrangebyscore排序小-大
zrevrange排序大-小
zrangebyscore withscores查询所有值包含key
zrem移除元素
zcard查看元素个数
zcount查询指定区间内的元素个数

Geospatial

实际需求中,我们可以用来查询附近的人、计算两人之间的距离等。当然,那些所需的经纬度我们肯定要结合java代码来一次导入,手动查询和录入太过于浪费时间!
注意点1:两极无法直接添加,我们一般会下载城市数据,直接通过java程序一次性导入!
注意点2:有效的经度从-180度到180度。
注意点3:有效的纬度从-85.05112878度到85.05112878度。
注意点4:m 为米。km 为千米。mi 为英里。ft 为英尺。

命令说明
geoadd添加
geopos查看
geodist计算距离
georadius查询附件位置
georadiusbymember查找指定元素指定范围内的元素
geohash返回经纬度的hash值

Hyperloglog

在Redis中,可能会有一定的误差性。 官方给出的误差率是0.81%。
Hyperloglog的优点: 占用的内存是固定的,2^64个元素,相当于只需要12kb的内存即可。效率极高!
如果在实际业务中,允许一定的误差值,我们可以使用基数统计来计算~效率非常高!比如:网站的访问量,就可以利用Hyperloglog来进行计算统计!

命令说明
pfadd添加数据集
pfcount统计数据集
pfmegre合并数据集-自动去重

Bitmap

Bitmap 位图,数据结构! 都是操作二进制位来进行记录,就只有0 和 1 两个状态!
实际需求中,可能需要我们统计用户的登陆信息,员工的打卡信息等等。只要是事务的只有两个状态的,我们都可以用Bitmap来进行操作!!!

命令说明
setbit添加
getset获取
bitcount统计
  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值