字符串(String)数据类型
简介 字符串类型是最常用的数据类型。Redis中的所有键都是字符串。
字符串类型是最常用的数据类型。Redis中的所有键都是字符串。
相关命令
SET、GET、STRLEN、APPEND、SETRANGE、SETNX、MSET、MGET、OBJECT
操作
1、使用redis-cli连接到Redis
2、使用SET命令将一个字符串的值关联到一个键。
127.0.0.1:6379> SET "test-1" "Hello World!"
OK
3、使用GET命令获取字符串的值
127.0.0.1:6379> GET test-1
"Hello World!"
4、使用GET获取一个不存在的Key是,会返回(nil)
127.0.0.1:6379> GET test-2
(nil)
5、使用STRLEN命令返回键字符串对应值的长度
127.0.0.1:6379> STRLEN test-1
(integer) 12
6、使用STRLEN命令获取不存在的键对应值的长度的时候,返回0
127.0.0.1:6379> STRLEN test-2
(integer) 0
7、使用APPEND命令向一个键对应值的后面追加字符串
127.0.0.1:6379> APPEND test-1 " Hai"
(integer) 16
127.0.0.1:6379> GET test-1
"Hello World! Hai"
8、使用SETRANGE命令可以覆盖字符串值的一部分
127.0.0.1:6379> SETRANGE test-1 10 "X123456"
(integer) 17
127.0.0.1:6379> GET test-1
"Hello WorlX123456"
9、SET命令会覆盖键此前对应的值,有时候我们不希望覆盖,这时候可以使用EXIST命令来判断键是否存在。但是Redis给我们提供了SETNX命令,用于原子性的设置键的值,如果键已经存在,则返回0,表示不覆盖原来的值,不存在,则返回1。
127.0.0.1:6379> SETNX test-2 "ABC"
(integer) 1
127.0.0.1:6379> SETNX test-2 "ABC"
(integer) 0
#等价下面的格式
127.0.0.1:6379> SET test-3 "ABC" NX
OK
127.0.0.1:6379> SET test-3 "ABC" NX
(nil)
SET命令中的NX选项与SETNX一样。相反,SET命令的XX选项表示仅仅存在键才设置值。
127.0.0.1:6379> SET test-3 "ABC" XX
OK
127.0.0.1:6379> SET test-4 "ABC" XX
(nil)
10、使用MSET命令来一次性设置多个值
127.0.0.1:6379> MSET test-4 "DEF" test-5 "HHH"
OK
11、使用MGET命令一次性来获取多个值
127.0.0.1:6379> MGET test-4 test-5
1) "DEF"
2) "HHH"
Redis字符串内部是如何编码的?
Redis使用了三种不同的编码方式来存储字符串对象,并会根据每个字符串值自动决定所使用的编码方式:
- int:用于能够使用64位有符号整数表示的字符串
- embstr:用于长度小于或等于44字节的字符串,这种类型的编码在内存使用和性能方面更有效率
- raw:用于长度大于44字节的字符串
可以使用OBJECT命令来查看与键相关联的Redis值对象的内部编码方式:127.0.0.1:6379> SET key1 12345 OK 127.0.0.1:6379> OBJECT ENCODING key1 "int" 127.0.0.1:6379> 127.0.0.1:6379> SET key2 "abcdefg" OK 127.0.0.1:6379> OBJECT ENCODING key2 "embstr" 127.0.0.1:6379> 127.0.0.1:6379> SET key3 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" OK 127.0.0.1:6379> OBJECT ENCODING key3 "raw"
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
我们在工作或是生活中,有时会需要制作一些请柬、奖状、或者桌牌等,这些东西都有一个共性,那就是除了每个人的名字不一样之外,其他大部分内容都是一样的,那么我们可以如何快速地批量制作呢?很简单,用Word的邮件合并功能就能做到!
PHP中使用Skywalking
ip命令是iproute软件包中的一个强大的网络配置工具,用于显示和管理Linux系统的路由、网络设备、策略路由和隧道。Centos7推荐使用ip命令代替传统的ipconfig和route[该命令我们没有进行说明,需要学习的请参考网上资料]命令。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。