Redis 九种数据类型的基本操作

这篇具有很好参考价值的文章主要介绍了Redis 九种数据类型的基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、redis9种数据类型的基本操作
①key操作

#查找所有的key
127.0.0.1:6379> keys *
1) "pop"
2) "mylist"
3) "lpl"
4) "myset"
#设置key的过期时间 返回1表示执行成功,0表示失败,出现问题
127.0.0.1:6379> expire pop 30
(integer) 1
#ttl key 查看key过期倒计时
127.0.0.1:6379> ttl pop
(integer) 10
127.0.0.1:6379> ttl pop
(integer) 1
127.0.0.1:6379> ttl pop
(integer) -2
#查看是否存在key:exists key,返回0表示不存在
127.0.0.1:6379> exists pop
(integer) 0
#del key:删除key
127.0.0.1:6379> del lpl
(integer) 1
127.0.0.1:6379> keys *
1) "mylist"
2) "myset"
#rename key 表示修改key的名称

②String类型
(1)Redis 最基本的数据类型,String 类型的值最大能存储 512MB。
(2)string类型是二进制, redis 的 string 可以包含任何数据,一个 key 对应一个 value。

#set key value 创建key并赋值
127.0.0.1:6379> set pop qwe
OK
#get key  获取key的对应值
127.0.0.1:6379> get pop
"qwe"

③list类型
Redis列表是简单的字符串列表,按照插入顺序排序。一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

#lpush key element 表示从key左边开始插入一个或多个值
127.0.0.1:6379> lpush lpl 1 2 3 4
(integer) 4
# lrange  key start stop 表示列表的范围从start的位置到stop的位置
127.0.0.1:6379> lrange lpl 1 3
1) "3"
2) "2"
3) "1"
#从rpush key element  从key右边插入
127.0.0.1:6379> rpush lpl 6 7 8
(integer) 7
#lrange key 0 -1  查看列表全部的值
127.0.0.1:6379> lrange lpl 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "6"
6) "7"
7) "8"
#rpop key 移除列表的最后一个元素,返回值为移除的元素
127.0.0.1:6379> rpop lpl
"8"
127.0.0.1:6379> lrange lpl 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "6"
6) "7"
#lpop key  移出并获取列表的第一个元素
127.0.0.1:6379> lpop lpl
"4"
127.0.0.1:6379> lrange lpl 0 -1
1) "3"
2) "2"
3) "1"
4) "6"
5) "7"

④Set类型
Redis 的 Set 是 String 类型的无序集合。集合中成员是唯一的,不能出现重复的数据。

tips:Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

# sadd key member [member ...] 添加集合的元素
127.0.0.1:6379> sadd course redis mongodb mysql
(integer) 3
#scard key 获取集合中的成员数
127.0.0.1:6379> scard course
(integer) 3
#smembers key 返回集合中的所有成员
127.0.0.1:6379> smembers course
1) "redis"
2) "mongodb"
3) "mysql"

⑤Zset
Redis 有序集合和集合一样也是string类型元素的集合且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。

#zadd key score member 向有序集合添加一个或多个成员,或者更新已存在成员的分数
127.0.0.1:6379> zadd courses 1 redis
(integer) 1
#zrevrank key 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
127.0.0.1:6379> zrevrank courses mongodb
(integer) 3
#zrange key start stop withscores通过索引区间返回有序集合指定区间内的成员
127.0.0.1:6379> zrange courses 0 10 withscores
 1) "redis"
 2) "1"
 3) "mongodb"
 4) "2"
 5) "sqlserver"
 6) "68"
 7) "oracle"
 8) "77"
 9) "mysql"
10) "99"

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

#hmset key field value [field value ...]  将哈希表 key 中的字段 field 的值设为 value
127.0.0.1:6379> hmset new name "zhangsan" age 18 gender "F" birth 2000-01-01

OK
#hgetall key 获取在哈希表中指定 key 的所有字段和值
127.0.0.1:6379> hgetall new
1) "name"
2) "zhangsan"
3) "age"
4) "18"
5) "gender"
6) "F"
7) "birth"
8) "2000-01-01"

⑦Bitmaps
1)Bitmaps本身不是一种数据类型,实际上它就是字符串(key-value),但是它可以对字符串的位进行操作。

2)Bitmaps单独提供了一套命令,所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。

#setbit key offset value 设置Bitmaps中某个偏移量的值(0或1),offset偏移量从0开始。模拟工作日打卡场景

Redis 九种数据类型的基本操作,redis,数据库,缓存

# bitcount key [start end [BYTE|BIT]] 用于统计字符串从start字节到end字节比特值为1的数量
127.0.0.1:6379> bitcount user:01
(integer) 3
#getbit key offset 获取键的第offset位的值(从0开始算)
127.0.0.1:6379> getbit user:01 5
(integer) 1

⑧HyperLogLog
优点:
(1)能够降低一定的精度来平衡存储空间
(2)在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。
(3)在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。
缺点:
由于HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。

#pfadd key [element [element ...]] 添加指定元素到 HyperLogLog 中
127.0.0.1:6379> pfadd test "redis"
(integer) 1
127.0.0.1:6379> pfadd test "mongodb"
(integer) 1
127.0.0.1:6379> pfadd test "mysql"
(integer) 1

#pfcount key [key ...] 返回给定 HyperLogLog 的基数估算值
127.0.0.1:6379> pfcount test
(integer) 3
127.0.0.1:6379> pfadd test1 "sqlserver"
(integer) 1

#pfmerge destkey sourcekey [sourcekey ...] 将多个 HyperLogLog 合并为一个 HyperLogLog
127.0.0.1:6379> pfmerge test test1
OK
127.0.0.1:6379> pfcount test
(integer) 

⑨Geospatial
GEO类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。文章来源地址https://www.toymoban.com/news/detail-608037.html

# geoadd key longitude  latitude   member [longitude latitude member...] 添加地理位置(经度,纬度,名称)
127.0.0.1:6379> geoadd location 127.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> geoadd location 106.50 29.53 chongqing
(integer) 1

#geopos  key  member  [member...] 获得指定地区的坐标值
127.0.0.1:6379> geopos location shanghai
1) 1) "127.47000128030776978"
   2) "31.22999903975783553"

#geodist  key  member1  member2 [m\|km\|ft\|mi] 获取两个位置之间的直线距离
127.0.0.1:6379> geodist location shanghai chongqing km
"2017.9802"

#georadius  key   longitude  latitude  radius  [m\|km\|ft\|mi]  以给定的经纬度为中心,找出某一半径内的元素
127.0.0.1:6379> georadius location 110 30 1000 km
1) "chongqing"

到了这里,关于Redis 九种数据类型的基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • redis数据库和MongoDB数据库基本操作

    (1) 设置键值 (2) 读取键值 (3) 数值类型自增1 (4) 数值类型自减1 (5) 查看值的长度 (1)对列表city插入元素:Shanghai Suzhou Hangzhou (2)将列表city里的头部的元素移除 (3) 对一个已存在的列表插入新元素 (4)查看list的值长度 (1) 设置一个hash表,order表里包括的

    2024年02月16日
    浏览(63)
  • Redis九种数据类型及其持久化机制:探索数据存储的奇妙世界

    目录 一、9种数据类型 3.1 Key操作 3.1.1 相关命令 练习: 3.2 String 3.2.1 结构图 3.2.2 相关命令  练习: 3.3 List(双向的链表) 3.3.1 结构图 3.3.2 相关命令 练习: 3.4 Set(无序集合) 3.4.1 结构图 3.4.2 相关命令 练习: 3.5 Zset(有序集合) 3.5.1 结构图 3.5.2 相关命令 练习 3.6 Hash 3.6.1 结构

    2024年02月16日
    浏览(54)
  • 初识Redis——Redis概述、安装、基本操作

    目录 一、NoSQL介绍 1.1什么是NoSQL 1.2为什么会出现NoSQL技术 1.3NoSQL的类别 1.4传统的ACID是什么 1.5 CAP 1.5.1 经典CAP图 1.5.4 什么是BASE 二、Redis概述 2.1 什么是Redis 2.2 Redis能干什么 2.3 Redis的特点 2.4 Redis与memcached对比 2.5 Redis的安装 2.6 Docker安装 三、 基本操作 3.1.1 set 3.1.2set操作的选

    2024年02月16日
    浏览(44)
  • Redis的基本操作

    Redis是一款基于 内存 的key-value结构数据库,它的主要优点有以下几点: 基于内存存储,读写性能高 适合存储热点数据 企业应用广泛 其结构为: key value id 101 这种为Redis的存储结构。 Redis存储的是key-value结构的数据,其中key为字符串类型,value有常用的五种数据类型,所有

    2024年02月11日
    浏览(29)
  • redis操作基本命令

    Redis —— Remote Dictionary Server ,它是一个开源的使用ANSI C语言编写、 支持网络 、可基于 内存亦可持久化 的日志型、 Key-Value 数据库,并提供多种语言的API,我们可使用它构建高性能,可扩展的Web应用程序。 具有以下特点: 异常快速:  Redis数据库完全在 内存 中,因此处理速

    2024年02月09日
    浏览(33)
  • Redis的安装方法与基本操作

    目录 前言 一、REDIS概述 二、REDIS安装 1、编译安装 2.yum安装 三、Redis的目录结构 四、基础命令解析 五、在一台服务器上启动多个redis 六、数据库的基本操作 (一)登录数据库 (二)基础命令 七、Redis持久化 (一)RDB持久化 (二)AOF持久化 总结 Redis是一个开源的内存数据结

    2024年02月13日
    浏览(42)
  • 【Redis】Redis在Linux与windows上的安装&基本操作语法

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品 有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供

    2024年02月06日
    浏览(53)
  • Redis,MongoDB基本操作练习题

    语法不会可以在官网上查询MongoDB教程 String类型基本操作: List类型基本操作: hash类型基本操作: 创建一个数据库 名字grade: 创建class集合: 集合中插入若干数据: 查看班级所有人信息: 查看班级中年龄为8岁的学生信息: 查看年龄大于10岁的学生信息: 查看年龄在 4—8岁

    2024年02月16日
    浏览(40)
  • Redis【实践篇】之RedisTemplate基本操作

    在SpringBoot中,可以使用RedisTemplate来操作Redis数据库。RedisTemplate是Spring Data Redis提供的一个强大的Redis客户端,它支持各种Redis数据结构,并提供了许多方便的方法来操作这些数据结构。下面是一些RedisTemplate的用法示例: 在此示例中,创建了一个RedisTemplate对象,并设置了key和

    2024年02月16日
    浏览(94)
  • Redis的基本操作与应用(附相关面试题...)

    1、概述:Redis是一款基于 内存 以 KV键值对 存储的中间件技术,常用 做缓存 ,支持 数据持久化 。 2、数据类型:  常用5种数据类型:String(字符串)、List(列表)、set(集合)、hash(哈希)、zset(有序集合) 结构类型 结构存储的值 应用 String(字符串) 可以是字符串、整数或浮

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包