Redis教程

redis数据类型

本文主要是介绍redis数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.redis的基本数据结构⼀(string/字符串)

redis中没有使用C语言的字符串表示,而是自定义一个数据结构,叫SDS,即简单动态字符串,redis的字符串是简单动态安全的,存入什么数据取出还是什么数据。
Redis Strings是最简单的Redis类型,如果只用这种类型,Redis就相当于一个持久化的memcache服务器(memecache的数据仅仅保存在内存中,服务器重启后,数据将丢失)

String类型的常用命令有:

1.1 赋值/取值命令(set/get)

redis赋值操作使用set命令,语法set key value,将键key设定为指定的字符串值;如果 key 已经保存了一个值,那么这个操作会直接覆盖原来的值,并且忽略原始类型;当set命令执行成功之后,之前设置的过期时间都将失效
范例:向redis中插入数据,键为name,值为zhangsan

127.0.0.1:6380> set name zhangsan
OK
127.0.0.1:6380> keys *
1) "name"
127.0.0.1:6380> get name
"zhangsan"

如果想同时插入多个数据,使用mset key value [key value ...] 将对应给定的keys到他们相应的values上;同理mget key [key ...]用于获取多个key的值

127.0.0.1:6380> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6380> mget k1 k2 k3 
1) "v1"
2) "v2"
3) "v3"

1.2 删除命令(del)

删除命令为del,语法格式为del key
例如:删除name对应的数据值

127.0.0.1:6380> del name
(integer) 1
127.0.0.1:6380> keys *
1) "k3"
2) "k1"
3) "k2"

1.3 值递增/递减

如果字符串中的值是数字类型的,可以使用incr命令每次递增,不是数字类型则报错
语法:incr key
同样,递减使用decr

127.0.0.1:6380> set mem 10
OK
127.0.0.1:6380> incr mem
(integer) 11
127.0.0.1:6380> incr mem
(integer) 12
127.0.0.1:6380> incr mem
(integer) 13
127.0.0.1:6380> get mem
"13"

127.0.0.1:6380> decr mem
(integer) 12
127.0.0.1:6380> decr mem
(integer) 11
127.0.0.1:6380> get mem
"11"

如果要增减或减少指定的数值,则使用incrby和decrby命令

语法格式:incrby key 指定数值

decrby 同理

127.0.0.1:6380> set men 100
OK
127.0.0.1:6380> incrby men 10
(integer) 110
127.0.0.1:6380> incrby men 10
(integer) 120
127.0.0.1:6380> incrby men 10
(integer) 130

127.0.0.1:6380> decrby men 10
(integer) 120
127.0.0.1:6380> decrby men 10
(integer) 110

1.4 追加内容

语法:append key value

127.0.0.1:6380> set mm hello
OK
127.0.0.1:6380> get mm
"hello"
127.0.0.1:6380> append mm world
(integer) 10
127.0.0.1:6380> get mm
"helloworld"
127.0.0.1:6380> append mm ' hhhhh'
(integer) 16
127.0.0.1:6380> get mm
"helloworld hhhhh"

1.5 获取长度

语法:strlen key

127.0.0.1:6380> get mm
"helloworld hhhhh"
127.0.0.1:6380> STRLEN mm
(integer) 16
这篇关于redis数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!