Redis:存储字符串(基本概念、命令)

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"
原文地址:https://www.cnblogs.com/zhai1997/p/11730255.html