redis学习

Redis 是一款高性能的Key-Value数据库,支持多种数据类型如String、List、Set、Hash和ZSet。常用作内存存储、缓存、发布订阅系统。String类型包括设置、获取、递增、截取等操作;List可用于队列操作,Set为无序不重复集合,Hash适合存储键值对,ZSet则提供了有序性。此外,Redis还支持地理信息、HyperLogLog和Bitmap等特殊数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一, redis介绍

二,redis可以用来干嘛?

三 ,redis的五种基本数据类型

1-.String类型操作 命令

2 -List类型介绍

3 -Set类型

4 -hash集合

5 -zSet

四,redis特殊数据类型(不常用,这里不多介绍,有需要可以去官网详细了解)

1.geospatial类型主要用来存储地理信息

2.hyperloglog类型

3.bitmap类型


一, redis介绍

redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

二,redis可以用来干嘛?

1内存存储,持久化

2效率高,可用高速缓存

3发布订阅系统

4地理信息分析

5计时器,计数器

.........

三 ,redis的五种基本数据类型

redis支持五种数据类型,分别是string,hash,list,set及zset(sorted set)。
1redis默认有16个数据库,默认使用第0个,可以使用select进行切换数据库
dbsize :指令查看db大小

flushdb:清除当前数据库
flushall  :清除全部数据库内容

keys* :获取所有的key

exists  key的值  可以查看是否存在这个key,存在返回1,不存在返回0

expire  key的值  过期时间


1-.String类型操作 命令

(1)set key1 "hello" 设置一个key值

(2)get key1 获取值

(3)incr 加key 自动加1;  decr加key 自动减1

(4)incrby  key值 10  :加10  设置减多少同理

(5)getrang key值 0 3   :截取获取字符串

(6)setx  key3 30 ''hello'' 表示设置一个值为hello的key3,过期时间为30秒

(7)mset 批量设置

(8)mget批量get

2 -List类型介绍

(1)lpush list 往list里面添加数据

(2)lrange  0  -1  获取全部数据

(3)lpush 从左侧插入(队列头部),rpush从右边插入(队列尾部)

(4)lpop  rpop 从左边移出和从右边移出

(5)lindex  获取下标的值

(6)llen获取长度

(7)lrem 移出list中指定个数的value

(8)ltrim  修剪命令

(9)rpoplpush  移出list最后一个值复制到别的list中

(10)lset修改list指定下标的值

3 -Set类型

(1)sadd myset ''hello''  添加集合

(2)smembers  myset 获取集合内容

(3)sismembers myset hello判断hello是不是在集合中

(4)set无序不重复

(5)spop 移出集合中的值

(6)smove myset myset2 hello :将hello从集合移动到另一个集合

(7)sdiff key1 key2 获取第一个为主的差集

(8)sunion key1 key2 获取并集

(9)sinter key1 key2 获取交集

4 -hash集合

本质方法和hash类型没有太多区别

(1)hset myhash  file1 hello设置一个hash集合存key为file1 值为hello

(2)0hmget 获取

(3)hgetall 获取全部

(4)hdel myhash file1 删除指定字段,对应的值也删除了

(5)hkeys 获取所有key 

(6)hvals 获取所有value  

5 -zSet

可以添加有序

zadd   keyset1  权重 值 :添加元素

zrangbyscore zset1 -inf +inf 获取从小到大的内容

zrang 集合 0 -1  获取所以

zrevrang zset1 -1 0 获取从大到小内容

zrem 移出

有序集合,用途可以存成绩,权重

四,redis特殊数据类型(不常用,这里不多介绍,有需要可以去官网详细了解)

1.geospatial类型主要用来存储地理信息

geoadd 添加城市坐标信息

geopos 获取指定城市的坐标

geodis 返回两个城市之前的直线距离

georadius 已给定城市为中心,获取指定范围半径内的存在点位

2.hyperloglog类型

# 用于向 HyperLogLog 添加元素 # 如果 HyperLogLog 估计的近似基数在 PFADD 命令执行之后出现了变化, 那么命令返回 1 , 否则返回 0 # 如果命令执行时给定的键不存在, 那么程序将先创建一个空的 HyperLogLog 结构, 然后再执行命令

pfadd key value1 [value2 value3]

# PFCOUNT 命令会给出 HyperLogLog 包含的近似基数 # 在计算出基数后, PFCOUNT 会将值存储在 HyperLogLog 中进行缓存,知道下次 PFADD 执行成功前,就都不需要再次进行基数的计算。

pfcount key

# PFMERGE 将多个 HyperLogLog 合并为一个 HyperLogLog , 合并后的 HyperLogLog 的基数接近于所有输入 HyperLogLog 的并集基数。

pfmerge destkey key1 key2 [...keyn]

3.bitmap类型

常用命令作用
1、getbit key offset用于获取Redis中指定key对应的值,中对应offset的bit
2、setbit key key offset value用于修改指定key对应的值,中对应offset的bit
3、 bitcount key [start end]用于统计字符串被设置为1的bit数
4、bitop and/or/xor/not destkey key [key …]用于对多个key求逻辑与/逻辑或/逻辑异或/逻辑非

后续介绍一下redis事务,持久化~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值