Redis的数据结构

6 篇文章 0 订阅
5 篇文章 0 订阅

Redis的数据结构


**

五种数据类型

**

  • 字符串(String)
  • 字符串列表(list)
  • 有序字符串集合(sorted set)
  • 哈希(hash)
  • 字符串集合(set)

Key定义的注意点:

  • 不要过长
  • 不要过短
  • 统一的命名规范

存储String

  • 二进制安全的,存入和获取的数据相同
  • Value最多可以容纳的数据长度是512M

存储String常用的命令

  • 赋值 set key value eg:set company apple
  • 删除 del key eg: del company
  • 取值 get key eg: get apple
  • 数值增减 增 incr key 减 decr key
  • 扩展命令 incrby key value decrby key value append key value 追加字符串
  • 先获取值,再赋值 getset apple baidu

存储Hash

  • String Key 和String Value 的map容器
  • 每一个Hash可以存储4294967295个键值对

存储Hash常用命令

  • 赋值 hset myhash username jack
  •  		hmset myhash2 username rose age 22
    
  • 删除 hdel myhash2 username age
  •  		del myhash2
    
  • 取值 hget myhash username
    hmget myhash username age
    hgetall myhash
  • 增加数字 hincrby myhash age 5
  •  			hdecrby myhash age 5
    
  • 自学命令 hexists myhash username (属性是否存在)
  •  		   	 hlen myhash(查看属性数量)
    
  •  			 hkeys myhash(查看所有的key)
     			 hvals myhash(查看多有的值)
    

存储list

  • ArrayList使用数组方式
  • LinkedList使用双向链接方式
  • 双向链表中增加数据
  • 双向链表中删除数据

存储list常用命令

  • 两端添加

  •  			lpush mylist a b c d e  (左端添加)
    
  •  			rpush mylist1 a b c  (右端添加)
    
  • 查看列表

  •  			lrange mylist 0 3
    
  • 两端弹出

  •  			lpop mylist
    
  •  			rpop mylist
    
  • 获取列表元素个数 llen mylist

  • 扩展命令

  •  			lpushx mylist x(从在的元素头部插入)
    
  •  			rpushx mylist x(从在的元素尾部插入)
     			lrem mylist3 2 3 (从头开始删除2个3)
     			lrem mylist3 -2 3 (从后往前删除2个3)
     			lrem mylist3 0 2 (删除所有2)
     			lset mylist3 1 11(设置下标1处的值为11)
     			linsert mylist3 before 11 ab(在"11"之前插入"ab")
     			linsert mylist3 after 11 cd(在"11"之后插入"cd")
     			rpoplpush mylist5 mylist6(将5尾部的数据弹出压入到6的头部)
    

存储Set

  • 和list类型不同的是,Set集合中不允许出现重复的元素
  • Set可包含的最大元素数量为4294967295

存储set常用命令

  • 添加元素 sadd myset a b c
  • 删除元素 srem myset 1 2
  • 获得集合中的元素 smembers myset
  •  						   sismember myset a
    
  • 集合中的差集运算 sdiff myset1 myset2
  • 集合中的交集运算 sinter myset1 myset2
  • 集合中的并集运算 sunion myset1 myset2
  • 扩展命令 scard myset (myset中的数量)
  •  			srandmember myset(随机返回myset中的元素)
    
  •  			sdiffstore my1 myset1 myset2(将myset1,myset2的差集放到my1中)
    
  •  			sinterstore my2 myset1 myset2(将myset1,myset2的交集放到my2中)
     			sunionstore my3 myset1 myset2(将myset1,myset2的并集放到my3中)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值