1、Redis存储String类型
(1)基本概念
一个键最大能存储512M的数据,value不仅可以使字符串还可以是数字,是包含很多种类型的特殊类型
string类型是二进制安全的,意思是redis的string可以包含任意类型的数据,例如:图片的二进制存储、字符串、数值等
(2)应用场景
String可用于保存单个字符串或JSON字符串类型的数据
因为String是二进制安全的,可以将一张图片作为二进制来存储
计数器:计数粉丝数。因为redis的原子性,不用考虑线程安全的问题。即使有十个用户同时读取到一个数据,在他们进行加以操作后,数据的值增加的依旧是十
2、String类型的命令
(1)set和get实现字符串存取:
键的名字相同,会对以前的值进行覆盖:
(2)setnx命令:如果key不存在则赋值并返回1,如果已经存在则赋值并返回0
127.0.0.1:6379> setnx zhai zzz
(integer) 0
127.0.0.1:6379> setnx qian zhhh
(integer) 1
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "huangzzz"
6) "zhai"
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> get qian
"zhhh"
可用于解决分布式锁的问题
(3)get:取值命令,值存在的话返回值,不存在的话返回null
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> get 123
(nil)
(4)getrange:取一个字符串的子字符串,下标从零开始,两个参数是偏移量
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> getrange zhai 1 4
"0100"
(5)getset:设置key的值并返回key的原来的值
127.0.0.1:6379> get zhai
"201001"
127.0.0.1:6379> getset zhai 123321
"201001"
127.0.0.1:6379> get zhai
"123321"
(6)strlen:获取长度
127.0.0.1:6379> get zhai
"123321"
127.0.0.1:6379> strlen zhai
(integer) 6
(7)del:删除
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "huangzzz"
6) "zhai"
127.0.0.1:6379> del huangzzz
(integer) 1
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "zhai"
(8)批量读写
批量写:
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "zhao"
4) "ZHAI"
5) "zhai"
127.0.0.1:6379> mset user1 zhai user2 zhang
OK
127.0.0.1:6379> keys *
1) "zhang"
2) "qian"
3) "user1"
4) "user2"
5) "zhao"
6) "ZHAI"
7) "zhai"
批量读:
127.0.0.1:6379> mget zhang qian user1
1) "202002"
2) "zhhh"
3) "zhai"
(9)++操作:
(10)–操作:
(11)设定增量值
加:
127.0.0.1:6379> set num 12
OK
127.0.0.1:6379> get num
"12"
127.0.0.1:6379> incrby num 10
(integer) 22
127.0.0.1:6379> incrby num 10
(integer) 32
127.0.0.1:6379> incrby num 10
(integer) 42
减:
127.0.0.1:6379> get num
"42"
127.0.0.1:6379> decryby 10
(integer) 32
127.0.0.1:6379> decrby num 10
(integer) 22
127.0.0.1:6379> decrby num 10
(integer) 12
127.0.0.1:6379> decrby num 10
(integer) 2
(12)拼接字符串:
127.0.0.1:6379> get zhai
"123321"
127.0.0.1:6379> append zhai nihao
(integer) 11
127.0.0.1:6379> get zhai
"123321nihao"