Redis数据类型(String、List、Hash、Set、Sorted Set)

Redis中的五大数据类型包括String、List、Hash、Set和Sorted Set。String是最基本类型,支持字符串操作;List支持在两端插入元素,常用于消息队列;Hash用于存储对象,节省空间;Set是无序唯一元素集合,适合存储唯一数据;Sorted Set是有序集合,元素带分数,可用于排名和索引。各种数据类型提供了丰富的操作命令,如String的append、set,List的LPUSH、LPOP,Hash的HSET、HGET,Set的SADD、SMEMBERS,以及Sorted Set的ZADD、ZRANGE等。
摘要由CSDN通过智能技术生成

Redis数据类型

String数据类型

概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等

  • append
1、append   #Redis的append命令是往一个key追加value。如果没有key,则创建一个并且设置value
例:
redis-cli
exists blue
append blue hello
append blue lic
get blue

在这里插入图片描述

  • set
2、SET  	#获取数据,命令格式为 get key
例:
set blue 'hello lic!'
get blue

在这里插入图片描述

  • strlen
3、strlen  	#获取指定Key的字符长度
例:
strlen blue

在这里插入图片描述

  • incr、decr、incrby、decrby
4、incr 	#该Key的值递增1
   decr   	#该Key的值递减1
   incrby 	#增加指定的整数
   decrby	#减少指定的整数
:
set sky 10
incr sky
decr sky
incrby sky 10
decrby sky -46
get sky
del sky
keys *
incr sky
keys *

set sky white
get sky
incr sky

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

  • getset
5、getset  #获取计数器原有值的同时,并将其设置为新值,这两个操作原子性的同时完成
例:
incr white
getset white 0
get white
  • setex
6、setex   #设置指定Key的过期时间为xx秒
   ttl key #查看键的剩余存活时间
例:	
setex white 20 'kiki'
ttl white
get white
等待20s
get white
ttl white
set white 'kiki'
ttl white

在这里插入图片描述

  • setnx
7、setnx  #创建指定键,若该键存在则不执行,不存在则执行
例:
del white
setnx white lic
setnx white kiki
get white

在这里插入图片描述

  • mset、mget、msetnx
8、mset		#批量设置键的值
   mget		#批量获取键的值
   msetnx		#批量设置键值,若有存在的键则不执行
例:
mset k1 blue k2 sky
mget k1 k2
msetnx k2 white k3 cloud
keys k*
msetnx k4 white k3 cloud
keys k*

在这里插入图片描述

List数据类型

概述:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

  • LPUSH/LPUSHX/ LRANGE:
redis 127.0.0.1:6379> del mykey 
(integer) 1
redis 127.0.0.1:6379> lpush mykey a b c d
#mykey键并不存在,该命令会创建该键及与其关联的List,之后在将参数中的values从左到右依次插入。
(integer) 4
redis 127.0.0.1:6379> lrange mykey 0 2      #取从位置0开始到位置2结束的3个元素。
1) "d"
2) "c"
3) "b"
redis 127.0.0.1:6379> lrange mykey 0 -1    #取链表中的全部元素,其中0表示第一个元素,-1表示最后一一个元素。
1) "d"
2) "c"
3) "b"
4) "a"
redis 127.0.0.1:6379> lpushx mykey2 e      #mykey2键此时并不存在,因此lpushx命令将不会进行任何操作,其返回值为0
(integer) 0
redis 127.0.0.1:6379> lrange mykey2 0 -1   #可以看到mykey2没有关联任何List Value。
(empty list or set)
redis 127.0.0.1:6379> lpushx mykey e       #mykey键此时已经存在,所以lpushx命令插入成功,并返回链表中当前元素的数量。
(integer) 5
redis 127.0.0.1:6379> lrange mykey 0 0      #获取该键的List Value的头部元素。
1) "e"
  • LPOP/LLEN:
redis 127.0.0.1:6379> del mykey
(integer) 1
redis 127.0.0.1:6379> lpush mykey a b c d
(integer) 4
redis 127.0.0.1:6379> lpop mykey       #移除并返回mykey键的第一个元素,即从右往左第一个
"d"
redis 127.0.0.1:6379> lpop mykey
"c"
redis 127.0.0.1:6379> llen mykey        #获取表中元素数量,在执行lpop命令两次后,链表头部的两个元素已经被弹出,此时链表中元素的数量是2
(integer) 2
  • LREM/LSET/LINDEX/LTRIM:
redis 127.0.0.1:6379> del mykey
(integer) 1
redis 127.0.0.1:6379> lpush mykey a b c d a c     #为后面的示例准备测试数据。
(integer) 6
redis 127.0.0.1:6379> lrem mykey 2 a      #从头部(left)向尾部(right)变量链表,删除2个值等于a的元素,返回值为实际删除的数量。
(integer) 2
redis127.0.0.1:6379&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值