Redis - 五种数据类型——String、List、Hash、Set、Zset

一、redis-string

string是redis最基本的类型,一个key对应一个value
string可以包含任何数据,最大不能超过512M

set  ---- 设置值			
get  ---- 获取值
mset  ---- 设置多个值
mget  ---- 获取多个值
append ---- 添加字段
del ---- 删除
strlen ---- 返回字符串长度

在这里插入图片描述

incr ---- 增加 ,  默认+1
decr ---- 减少 ,  默认-1
incrby  ----- 指定增加多少,	incrby num 2    num加2
decrby  ----- 指定减少多少,	decrby num 2    num减2 

在这里插入图片描述

getrange ---- 获取指定区间范围内的值,类似between....and的关系
setrange ---- 代表从第几位开始替换,下脚本从零开始
从0 -1表示全部

在这里插入图片描述

二、redis-list(单值多value)

List(列表)

  • 列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素列表的头部(左边)或者尾部(右边)

  • 它的底层实际是个链表

    lpush/rpush/lrange ---- 从左/从右/获取指定长度
    lpush list01 1 2 3 4 5 倒序排列
    rpush list02 1 2 3 4 5 正序排列
    lrange list01 0 -1 获取list01 中的所有值
    在这里插入图片描述

     lpop/rpop     移除最左/最右
     lpop list01   删除元素5
     rpop list01   删除元素1
    

在这里插入图片描述

lindex,按照索引下标获得元素(从上到下)

lindex list01 1

在这里插入图片描述

llen,求列表长度:
llen list01 

lrem key:
删N个value
lrem list01 2 1   在list01中删除2个1

ltrim ---- 开始index结束index,截取指定范围的值后在赋值给key
ltrim list01 0 2    截取list01 从0到2的数据在赋值给list01

在这里插入图片描述

rpoplpush list1 list2 将list1中最后一个压入list2中第一位

lrange list01 0 -1
lrange list02 0 -1
rpoplpush list1 list2  

lset key index value
lset list01 0 x     将list02中第一位换成x

linsert list01b  before x php  在x之前加字段php
linsert list01b  after x php   在x之后加字段php

三、redis-Hash

hash是一个键值对集合
hash是一个string类型的field和value的映射表,hash特别适合存储对象

      设值:		hset 	 hset user id 11
      取值:		hget     hget user id 
设值多个值:	    hmset    hmset customer id 11 name juran age 26
  取多个值:     hmget	 hmget customer id name age      只返回相应的值
  取全部值:    hgetall   hgetall   customer              返回全部
    删除值:     hdel     hdel user id   删除id
    
求哈希长度:    hlen customer   

hexists 	 在key里面的某个值,存在返回1 ,不存在返回0

获取keys:	hkeys name       ---获取name中的所有的keys
获取values:	hvals name	 	 ---获取name中的所有的values

四、redis-set(不重复的)

set是string类型的无序集合

sadd/smembers/sismember ---- 添加/查看集合/查看是否存在
sadd set01 1 2 2 3 3     去掉重复添加
smembers set01           得到set01
sismember set01 1        如果存在返回1  不存在返回0

scard ---- 获取集合里面的元素个数
scard set01  

srem ---- 删除集合中元素
srem set01 3		删除掉3

srandmembe ---- 随机出几个数
sadd set02  1 2 3 4 5 6 7 8
srandmember set02  2 

spop ---- 随机出栈
spop set01


sadd set01 1 2 2 3 3
sadd set03 x y z 
smove set01 set03 2  将set01中的2 移动到set03中


sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b
差集
SDIFF set01 set02   返回 4 5 在第一个set中不在第二个set中
交集
SINTER set01 set02   返回 1 2 3
并集
SUNION set01 set02  返回set01 set02 中的值  去掉重复

五、redis-Zset(有序集合)

zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1 
带分数返回   withscores

zrangebyscore key start end----根据开始结束来取值
zrangebyscore zset01 60 70

zrangebyscore zset01 60 (90   表示不包含90

zrangebyscore zset01  60 90  limit  1 2 从第一条开始截取2条

zrem key value  ---- 某score下对应的value值,作用是删除元素
zrem zset01 v1  

zcard   求zset01 总条数
zcount  zset01 60 90  求60-90个数
zrank   zset01  v2   返回1  返回对应下角标,从0开始
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值