Redis-数据类型-String

news/2024/10/18 16:54:28/

文章目录

  • 1、通过客户端连接redis
  • 2、查看当前数据库的key的数量
  • 3、切换数据库
  • 4、当前数据库没有数据
  • 5、添加键值对
  • 6、查看当前库所有key
  • 7、清空当前库
  • 8、设置存活的秒数(例如验证码)
  • 9、nx(Not Exists)参数表示当前命令中指定的key不存在才行
  • 10、xx(Exists)参数表示当前命令中指定的key存在才行
  • 11、把指定的value追加到key对应的原来的值后面,返回值是追加后字符串长度
  • 12、直接返回字符串长度
  • 13、自增1
  • 14、自减1
  • 15、增加多值
  • 16、减少多值
  • 17、从字符串中截取指定的一段,索引从0开始
  • 18、从offset(从0开始的索引)开始使用value进行替换
  • 19、设置key、value时指定存在秒数
  • 20、新建字符串类型的键值对
  • 21、一次性设置一组多个键值对
  • 22、一次性指定多个key,返回它们对应的值
  • 23、一次性新建多个值,但是指定的key存在才行,有一个不存在,都不成功
  • 24、设置新值,同时能够将旧值返回

redis_1">1、通过客户端连接redis

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

2、查看当前数据库的key的数量

127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

3、切换数据库

默认有16个数据库,0到15
在这里插入图片描述

3.1、切换到1数据库

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> 

3.2、切换到2数据库

127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> 

3.3、切换到默认的数据库,0数据库

127.0.0.1:6379[2]> select 0
OK
127.0.0.1:6379> 

4、当前数据库没有数据

127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

5、添加键值对

127.0.0.1:6379> set uname jim
OK
127.0.0.1:6379> dbsize
(integer) 1
127.0.0.1:6379> 

6、查看当前库所有key

127.0.0.1:6379> keys *
1) "uname"
127.0.0.1:6379> 

7、清空当前库

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

8、设置存活的秒数(例如验证码)

10秒后过期

127.0.0.1:6379> set uname jim ex 10
OK
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> get uname
(nil)
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

9、nx(Not Exists)参数表示当前命令中指定的key不存在才行

127.0.0.1:6379> set uname jim
OK
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> set uname lucy nx
(nil)
127.0.0.1:6379> 

10、xx(Exists)参数表示当前命令中指定的key存在才行

127.0.0.1:6379> keys *
1) "uname"
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> set uname lucy xx
OK
127.0.0.1:6379> get uname
"lucy"
127.0.0.1:6379> 

11、把指定的value追加到key对应的原来的值后面,返回值是追加后字符串长度

127.0.0.1:6379> keys *
1) "uname"
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> set uname lucy xx
OK
127.0.0.1:6379> get uname
"lucy"
127.0.0.1:6379> append uname hello
(integer) 9
127.0.0.1:6379> get uname
"lucyhello"
127.0.0.1:6379> 

12、直接返回字符串长度

127.0.0.1:6379> strlen uname
(integer) 9
127.0.0.1:6379> 

13、自增1

127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> get age
"18"
127.0.0.1:6379> incr age
(integer) 19
127.0.0.1:6379> incr age
(integer) 20
127.0.0.1:6379> incr age
(integer) 21
127.0.0.1:6379> incr age
(integer) 22
127.0.0.1:6379> 

14、自减1

127.0.0.1:6379> get age
"22"
127.0.0.1:6379> decr age
(integer) 21
127.0.0.1:6379> decr age
(integer) 20
127.0.0.1:6379> decr age
(integer) 19
127.0.0.1:6379> decr age
(integer) 18
127.0.0.1:6379> 

15、增加多值

127.0.0.1:6379> get age
"18"
127.0.0.1:6379> incrby age 5
(integer) 23
127.0.0.1:6379> 

16、减少多值

127.0.0.1:6379> get age
"23"
127.0.0.1:6379> decrby age 10
(integer) 13
127.0.0.1:6379> 

17、从字符串中截取指定的一段,索引从0开始

127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> get uname
"lucyhello"
127.0.0.1:6379> getrange uname 1 5
"ucyhe"
127.0.0.1:6379> get uname
"lucyhello"

18、从offset(从0开始的索引)开始使用value进行替换

127.0.0.1:6379> get uname
"lucyhello"
127.0.0.1:6379> setrange uname 0 hello
(integer) 9
127.0.0.1:6379> get uname
"helloello"
127.0.0.1:6379> 

19、设置key、value时指定存在秒数

127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> setex address 10 USA
OK
127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "uname"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
(nil)
127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> 

20、新建字符串类型的键值对

127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> setnx address usa
(integer) 1
127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "uname"
127.0.0.1:6379> get address
"usa"
127.0.0.1:6379> 

21、一次性设置一组多个键值对

127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "uname"
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 k4 v4
OK
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> 

22、一次性指定多个key,返回它们对应的值

127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> mget k1 k2 k3 k4
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> 

23、一次性新建多个值,但是指定的key存在才行,有一个不存在,都不成功

127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> msetnx k1 v9 k6 v8 k3 v99
(integer) 0
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> 

24、设置新值,同时能够将旧值返回

127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> getset k1 v999
"v1"
127.0.0.1:6379> get k1
"v999"
127.0.0.1:6379> 

在这里插入图片描述


http://www.ppmy.cn/news/1470464.html

相关文章

24年计算机等级考试22个常见问题解答❗

24年9月计算机等级考试即将开始,整理了报名中容易遇到的22个问题,大家对照入座,避免遇到了不知道怎么办? 1、报名条件 2、报名入口 3、考生报名之后后悔了,不想考了,能否退费? 4、最多能够报多少…

分类算法和回归算法区别

分类算法和回归算法在机器学习中扮演着不同的角色,它们的主要区别体现在输出类型、应用场景以及算法目标上。以下是对两者区别和使用场景的详细分析: 一、区别 1.输出类型: 分类算法:输出是离散的类别标签,通常表示为…

Sping事件发布机制

一、Spring事件发布 Spring事件发布机制是一种非常重要的通信方式,使用观察者设计模式,可以用于状态通知、业务解耦、异步处理的业务场景。 Spring事件发布对应的几个概念: 1、事件及事件源(ApplicationEvent) 对…

虚拟机使用桥接模式网络配置

1、获取本机的网络详细信息 windowr 输入cmd 使用ipconfig -all 一样即可 在自己的虚拟机中设置网络 虚拟机中的ip ---------192.168.36.*,不要跟自己的本机ip冲突 网关-----------192.168.36.254 一样即可 dns -----------一样即可,我多写了几个&am…

HTML5 新元素

HTML5 新元素 HTML5是最新版本的HTML,引入了许多新元素和功能,以更好地满足现代网页设计的需要。这些新元素不仅增强了网页的表现力,还提高了代码的可读性和可维护性。本文将详细介绍HTML5中的新元素,包括它们的功能和用法。 1.…

lighttpd cgi不能重启

1. 背景 cgi出现coredump后&#xff0c;lighttpd不能拉动cgi重启。 2. 重现问题 2.1. cgi实现 /*! cgi简单实现 */ #include <stdio.h> #include <fcgiapp.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <s…

【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——上

1.K-Means 假定我们对A、B、C、D四个样品分别测量两个变量&#xff0c;得到的结果见下表。 样品 变量 X1X2 A 5 3 B -1 1 C 1 -2 D -3 -2 利用K-Means方法将以上的样品聚成两类。为了实施均值法(K-Means)聚类&#xff0c;首先将这些样品随意分成两类(A、B)和(C、…

巡检机器人智能联网,促进工厂自动化

随着工业4.0和智能制造的快速发展&#xff0c;企业引入自动化设备和智能机器人以提高生产效率和降低人工成本已成为大势所趋。其中&#xff0c;巡检机器人作为一种能够在复杂和危险环境中进行自动巡检的设备&#xff0c;受到了广泛关注。如何实现巡检机器人稳定、安全的联网是每…