002redis常用的数据结构

redis有五种数据类型

字符串类型

String类型既可以保存普通文字,也可以保存序列化的二进制数据
,最大可以保存512M数据

SET email scott@163.com
GET email
DEL email

字符串指令
截取字符串内容

GENRANGE email 0 3

获取字符串长度

STRLEN email

设置过期时间KEY-VALUE

set username 5 scott

设置多个Key-value

mset username scott sex male

获得多个value

mget username sex

append在字符串结尾追加内容

set temp abcdset

INCR :数字自增加1

INCR num

数字加上指定的整数值

INCRBY num 25

decr:数字减1
dectby:数字减去指定整数值
没有浮点数减法,但是可以用加法变通一下

127.0.0.1:6379> set 0
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set email scott163@qq,com
OK
127.0.0.1:6379> getrange email 0 3
"scot"
127.0.0.1:6379> strlen email
(integer) 15
127.0.0.1:6379> setex username 5 scott
OK
127.0.0.1:6379> get username
"scott"
127.0.0.1:6379> get username
(nil)
127.0.0.1:6379> mset username jack sex male age 24
OK
127.0.0.1:6379> meget username male age
(error) ERR unknown command 'meget'
127.0.0.1:6379> mget username male age
1) "jack"
2) (nil)
3) "24"
127.0.0.1:6379> mget username sex age
1) "jack"
2) "male"
3) "24"
127.0.0.1:6379> setex temp 60 ABCD
OK
127.0.0.1:6379> append tenmp 1234
(integer) 4
127.0.0.1:6379> get temp
"ABCD"
127.0.0.1:6379> append temp 1234
(integer) 8
127.0.0.1:6379> get temp
"ABCD1234"
127.0.0.1:6379> setex num 100 0
OK
127.0.0.1:6379> incr num
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incrby num 35
(integer) 36
127.0.0.1:6379> get num
"36"
127.0.0.1:6379> incrbyfloat num 0.5
"36.5"
127.0.0.1:6379> get num
"36.5"
127.0.0.1:6379> setex num 200 10
OK
127.0.0.1:6379> decr num
(integer) 9
127.0.0.1:6379> decr num5
(integer) -1
127.0.0.1:6379> decr num 5
(error) ERR wrong number of arguments for 'decr' command
127.0.0.1:6379>

redis哈希类型

当value需要保存更复杂的数据化结构,这时候可以使用哈希类型
HEST:设置哈希表字段

hset 8000 ename Tom
hset 8000 job SALESMAN

获取哈希表字段值

HGET 8000 ename

HMGET获取多个哈希表字段值

HMGET 800 ename job deptno

获取所有哈希表字段值

HGETALL 8000

获取哈希表字段名

hkeys 8000

获取哈希表中的字段数量

hlen 8000

获取哈希表中所有的字段值

hvals 8000

删除哈希表字段

hdel 8000 job deptno

让哈希表的某个字段加上指定值

HINCRBY 8000 deptno 10

浮点数相加

HINCRBYFLOAT 8000 sal 350.5
RDM Redis Console
连接中...
Connected.
Redis:0>flushdb
"OK"
Redis:0>hset 8000 ename Tom
"1"
Redis:0>get age
null
Redis:0>get city
null
Redis:0>hset 8000 job SALESMAN
"1"
Redis:0>hmset 9000 ename scott salesman deptno 10
"ERR wrong number of arguments for HMSET"
Redis:0>hmset 9000 ename scott job salesman deptno 10
"OK"
Redis:0>hget 9000
"ERR wrong number of arguments for 'hget' command"
Redis:0>hgetall 9000
 1)  "ename"
 2)  "scott"
 3)  "job"
 4)  "salesman"
 5)  "deptno"
 6)  "10"
Redis:0>hkeys 9000
 1)  "ename"
 2)  "job"
 3)  "deptno"
Redis:0>hlen 9000
"3"
Redis:0>hexist 9000 job
"ERR unknown command 'hexist'"
Redis:0>hexists 9000 job
"1"
Redis:0>hvals 8000
 1)  "Tom"
 2)  "SALESMAN"
Redis:0>hdel 8000 job deptno
"1"
Redis:0>hvals 9000
 1)  "scott"
 2)  "salesman"
 3)  "10"
Redis:0>hget all 8000
null
Redis:0>hgetall 8000
 1)  "ename"
 2)  "Tom"
Redis:0>hmset 8000 deptno 10 sal 2162163
"OK"
Redis:0>HINCRBY 8000 deptno 10
"20"
Redis:0>

在这里插入图片描述

redis列表类型

当我们需要向VALUE保存序列化数据,可以使用列表类型
常见的一些指令。

Redis:0>rpush dname 技术部 后勤部 售后部
"3"
Redis:0>rpop dname
"售后部"
Redis:0>lrem 技术部
"ERR wrong number of arguments for 'lrem' command"
Redis:0>lrem dname 技术部
"ERR wrong number of arguments for 'lrem' command"
Redis:0>lrem dname 技术部
"ERR wrong number of arguments for 'lrem' command"
Redis:0>lrem dname 1 技术部
"1"
Redis:0>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

redis集合类型

RDM Redis Console
连接中...
Connected.
Redis:0>sadd empno 8001 8002 8003
"3"
Redis:0>smembers empno
 1)  "8001"
 2)  "8002"
 3)  "8003"
Redis:0>sadd tmp scott jack tom
"3"
Redis:0>smembers tmp
 1)  "jack"
 2)  "scott"
 3)  "tom"
Redis:0>scard empno
"3"
Redis:0>smembers empno 8000
"ERR wrong number of arguments for 'smembers' command"
Redis:0>smember empno 8000
"ERR unknown command 'smember'"
Redis:0>sismember empno 8000
"0"
Redis:0>srem empno 8000
"0"
Redis:0>srem empno 8001
"1"
Redis:0>del empno 
"1"
Redis:0>del tmp
"1"
Redis:0>sadd empno 8001 8002 8003
"3"
Redis:0>spop empno
"8001"
Redis:0>srandmember emono 1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

redis有序集合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值