Redis7(二)数据类型及其用法

news/2024/7/23 18:39:03 标签: java

一、概述

命令不区分大小写,key区分大小写

数据类型针对value

String

List Set

Hash ZSet

bitmap GEO

HyperLogLog

Stream bitfield

二、String <K,V>

1、设值/取值

java">getrange key index1 index2
getrange key  0  -1//获取所有的值
SETRANGE KEY_NAME OFFSET VALUE
setrange key  0  xx //abcd -> xxcd

 2、获取区间值/设置区间值

java">set key value
get key
mset key1 value1 key2 value2 key3 value3
mget key1 key2 

3、数值增减

java">INCR key //加1
INCRBY key increment //INCRBY key1 3
DECR key
DECRBY key decrement//DECRBY key1 2

 4、获取字符串长度

java">strlen key

5、内容追加

java">append key value//append key1 xxx  abc->abcxxx

6、分布式锁

setex 键 秒值 真实值

setex key1 15 hello
setnx:只有在 key 不存在时设置 key 的值

00a264709a05423b80fa904982ca7f35.png

7、getset 先get然后立即set

将给定 key 的值设为 value ,并返回 key 的旧值(old value)

3bae3fbb36bc4be6a1a72ff7401b05b3.png

二、List  一个key多个value  有序重复  

底层为双向链表

1、lpush、lrange、lpop&rpop

java">lpush list1 v1 v2 v3 v4
lrange list1 0 -1
1)v4
2)v3
3)v2
4)v1

8e4de5a8cdc54b129d544918fc1addc5.png

2、lindex

java">lindex key index
lindex list1 0
v4

list1
1)v4
2)v3
3)v2
4)v1

3、llen

java">llen list
llen list1
4

4、 lrem

LREM list3 0 值,表示删除全部给定的值。零个就是全部值

09f5d5d9a9e944bba1547fa73e405bbd.png

5、ltrim

e56330c56053487fa50a70f9eba97512.png

 6、lset key index value

替换值

19e55921a6994fb48497941de4135b1b.png

7、linsert key before/after 已有值  插入的新值

b1f8a2231f4e44e4989e30e82da71dd5.png

8、rpoplpush 源列表 目标列表

1c9c5b742b074cb2905273a67c907955.png

 

d4de05e0affb4146be2adce94d96dce1.png

三、Set  一个key多个value  无序不重复

cdfc5423031e44ee8340473383ee7f5d.png

四、Hash  <K,<k,v>>

26a99da689ad4b5aba1ceaccae4e44a8.png

五、ZSet

java">key score1 v1 score2 v2 score3 v3
key1 30 v1 40 v2 50 v3

1、zrange key start stop [withscores]&zrevrange

按照分数从小到大返回区间元素

4094c5bd82be44d5aea2dd4a18b3fbc1.png

2、ZRANGEBYSCORE zset  min max 

ZCOUNT zset min max

获取指定分数范围内的元素

073b1414edf24ff6bd5440c3fc6af40d.png

3、正序逆序获取下标索引值 

d2ad1a25986c478fa24a3f652b288245.png

4、ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]

ZMPOP  移除个数 有序集合名  <MIN | MAX>  [COUNT  限制数]  

限制数默认为1

c5bcb578a0dd40229aa2f3dbdb7de11d.png

 

 

538d5426ede64f0b8c5a3014399b15ef.png

 


http://www.niftyadmin.cn/n/5477139.html

相关文章

Node.js 的安装与配置指南

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;它使得开发者可以使用 JavaScript 来编写服务器端的代码。Node.js 的非阻塞、事件驱动的特性使其成为构建高性能网络应用的理想选择。本文将详细介绍如何**安装和配置** Node.js&#xff0c;以及如何设置 …

12个建筑数据分析典型用例

建筑企业面临着众多挑战&#xff0c;包括紧迫的期限、预算限制和复杂的监管要求。 然而&#xff0c;很明显&#xff0c;数据分析可以成为克服这些障碍的重要工具。 建筑行业是数据最密集的市场之一&#xff0c;这就是为什么越来越需要更好的建筑分析和大数据管理。 通过大数据…

HarmonyOS 应用开发-使用colorPicker实现背景跟随主题颜色转换

介绍 本示例介绍使用image库以及effectKit库中的colorPicker对目标图片进行取色&#xff0c;将获取的颜色作为背景渐变色&#xff0c;通过swiper组件对图片进行轮播&#xff0c; 效果图预览 使用说明 直接进入页面&#xff0c;对图片进行左右滑动&#xff0c;或者等待几秒&a…

Vuex与Pinia的区别

Vuex和Pinia都是Vue.js状态管理库&#xff0c;但它们有一些区别。 1. 架构设计&#xff1a;Vuex是Vue.js官方提供的状态管理库&#xff0c;而Pinia是由Vue作者维护的另一个状态管理库。Vuex采用了集中式的架构&#xff0c;将所有的状态存储在一个单一的全局状态树中&#xff0…

数据可视化-ECharts Html项目实战(10)

在之前的文章中&#xff0c;我们学习了如何在ECharts中编写雷达图&#xff0c;实现特殊效果的插入运用&#xff0c;函数的插入&#xff0c;以及多图表雷达图。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&…

Leetcode面试经典150_Q12整数转罗马数字

题目&#xff1a; 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

VPS入门指南:理解并有效利用虚拟专用服务器

VPS&#xff0c;即虚拟专用服务器&#xff08;Virtual Private Server&#xff09;&#xff0c;是一种流行的托管服务&#xff0c;它利用虚拟化技术&#xff0c;将一台服务器分割成多个虚拟服务器。每个VPS在一个更大的物理服务器上运行自己的操作系统副本&#xff0c;使用户可…

css字体加粗实例

确定字体粗细的是font-weight属性&#xff1b; 它的number值可取100-900&#xff1b; 如果把属性设为normal&#xff0c;相当于number为400&#xff1b; 设为bold&#xff0c;相当于number为700&#xff1b; html<b>或<strong>跟bold效果一样&#xff1b; <!…