【Redis】Redis学习⑤ - Redis数据类型

一、字符串(string)

  • 字符串是所有编程语言中最常见的和最常用的数据类型,而且也是redis最基本的数据类型之一,而且redis中所有的key的类型都是字符串。
  1. 添加一个key
    set key1 value1
	get key1
	type key1
    set name2 jack2 ex 3 #设置自动过期时间
  1. 获取一个key的内容
	get key1
  1. 删除一个key
	del key1
  1. 批量设置多个key
	mset key1 value1 key2 value2
  1. 批量获取多个key
mget key1 key2 
  1. 追加数据
   append key1 append
  1. 数值递增
   set num 10
   incr num
  1. 数值递减
   set num 10
   decr num
  1. 返回字符串key长度
   strlen key1

二、列表(list)

  • 列表是一个双向可读写的管道,其头部是左侧,尾部是右侧,一个列表最多可以包含2^32-1个元素,即4294967295个元素。
  1. 生成列表并插入数据
	lpush list1 jack tom jhon
	type list1
  1. 向列表追加数据
	lpush list1 tom
	rpush list1 jack
  1. 获取列表长度
	llen list1
  1. 移除列表数据
	rpop list1 #最后一个
	lpop list1 #第一个
  1. 查看列表元素
	lrange list1 0 4
  1. 删除列表
	del list1

三、集合(set)

  • Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
  1. 生成集合key
	sadd set1 v1
	sadd set2 v2 v4
	type set1
	type set2
  1. 追加数值,追加的时候不能追加已经存在的数值
	sadd set1 v2 v3 v4
	sadd set1 v2
	type set1
	type set2
  1. 查看集合的所有数据
	smembers set1
	smembers set2
  1. 获取集合的差集
    差集:已属于A而不属于B的元素称为A与B的差(集)
	sdiff set1 set2
  1. 获取集合的交集
    交集:已属于A且属于B的元素称为A与B的交(集)
	sinter set1 set2
  1. 获取集合的并集
    并集:已属于A或属于B的元素称为A与B的并(集)
	sunion set1 set2
  1. 删除集合中元素
	srem set1 v2
  1. 清空集合
	del set2

四、sorted set(有序集合)

  • Redis有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double(双精度浮点型)类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。
  • 有序集合的成员是唯一的,但分数(score)却可以重复,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1),集合中最大的成员数为2^32-1(4294967295,每个集合可存储40多亿个成员)。
  1. 生成有序集合
	zadd zset1 1 v1
	zadd zset1 2 v2
	zadd zset1 2 v3
	zadd zset1 3 v4
	type zset1
	type zset2
	
	zadd paihangbang 10 key1 20 key2 30 key3
	zrevrange paihangbang 0 -1 withscores #显示指定集合内所有key和得分情况
  1. 批量添加多个数值
	zadd zset2 1 v1 2 v2 4 v3 5 v5
  1. 获取集合的长度数
	zcard zset1
	zcard zset2
  1. 基于索引返回数值
	zrange zset1 1 3
	zrange zset1 0 2
	zrange zset1 2 2
  1. 返回某个数值的索引
	zrank zset1 v2
	zrank zset1 v3

五、哈希(hash)

  • hash是一个string类型的field和value的映射表,hash特别适合用于存储对象,Redis中每个hash可以存储2^32-1键值对
  1. 生成hash key
	hset hset1 name tom age 18
	type hset1
  1. 获取hash key字段值
	hget hset1 name
	hget hset1 age
  1. 删除一个hash key的字段
	hdel hset1 age
  1. 获取所有hash表中的字段
	hset hset1 name tom age 19
	hkeys hset1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值