2024年最全基于内存的分布式NoSQL数据库Redis(三)常用命令(4),2024年最新字节跳动+京东+美团+腾讯面试总结

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

node1:6379> strlen s1
(integer) 5
node1:6379> getrange s1 0 2
“ooz”
node1:6379> getrange s1 2 2
“z”
node1:6379>

* **小结**


	+ 掌握String类型的常用命令


### 知识点08:Hash类型的常用命令


* **目标**:掌握Hash类型的常用命令
* **实施**


	+ hset:用于为某个K添加一个属性
	
	
		- 语法:hset K k v
	+ hget:用于获取某个K的某个属性的值
	
	
		- 语法:hget K k
	+ hmset:批量的为某个K赋予新的属性
	
	
		- 语法:hmset K k1 v1 k2 v2 ……
	+ hmget:批量的获取某个K的多个属性的值
	
	
		- 语法:hmget K k1 k2 k3……
	+ hgetall:获取所有属性的值
	
	
		- 语法:hgetall K
	+ hdel:删除某个属性
	
	
		- 语法:hdel K k1 k2 ……
	+ hlen:统计K对应的Value总的属性的个数
	
	
		- 语法:hlen K
	+ hexists:判断这个K的V中是否包含这个属性
	
	
		- 语法:hexists K k
	+ hvals:获取所有属性的value的
	
	
		- 语法:hvals K

node1:6379> hget m1 name
“zhangsan”
node1:6379> hget m1 age
“19”
node1:6379> hmset m1 gender male phone 110 addr shanghai
OK
node1:6379> hmget m1 name phone gender

  1. “zhangsan”
  2. “110”
  3. “male”
    node1:6379> hgetall m1
  4. “name”
  5. “zhangsan”
  6. “age”
  7. “19”
  8. “gender”
  9. “male”
  10. “phone”
  11. “110”
  12. “addr”
  13. “shanghai”
    node1:6379> hdel m1 gender
    (integer) 1
    node1:6379> hgetall m1
  14. “name”
  15. “zhangsan”
  16. “age”
  17. “19”
  18. “phone”
  19. “110”
  20. “addr”
  21. “shanghai”
    node1:6379> hlen m1
    (integer) 4
    node1:6379> hexists m1 name
    (integer) 1
    node1:6379> hexists m1 gender
    (integer) 0
    node1:6379> hgetall m1
  22. “name”
  23. “zhangsan”
  24. “age”
  25. “19”
  26. “phone”
  27. “110”
  28. “addr”
  29. “shanghai”
    node1:6379> hvals m1
  30. “zhangsan”
  31. “19”
  32. “110”
  33. “shanghai”
* **小结**


	+ 掌握Hash类型的常用命令


### 知识点09:List类型的常用命令


* **目标**:掌握List类型的常用命令
* **实施**


	+ lpush:将每个元素放到集合的左边,左序放入
	
	
		- 语法:lpush K e1 e2 e3……
	+ rpush:将每个元素放到集合的右边,右序放入
	
	
		- 语法:rpush K e1 e2 e3……
	+ **lrange**:通过下标的范围来获取元素的数据
	
	
		- 语法:lrange K start end
		- 注意:从左往右的下标从0开始,从右往左的下标从-1开始,一定是从小的到大的下标
		- lrange K 0 -1:所有元素
	+ \*\*llen:\*\*统计集合的长度
	+ 语法:llen K
	+ lpop:删除左边的一个元素
	
	
		- 语法:lpop K
	+ rpop:删除右边的一个元素
	
	
		- 语法:rpop K

node1:6379> lpush list1 1 2 2 3
(integer) 4
node1:6379> rpush list1 4 5 6 6 7 8
(integer) 10
node1:6379> lrange list1 0 9

  1. “3”
  2. “2”
  3. “2”
  4. “1”
  5. “4”
  6. “5”
  7. “6”
  8. “6”
  9. “7”
  10. “8”
    node1:6379> lrange list1 4 9
  11. “4”
  12. “5”
  13. “6”
  14. “6”
  15. “7”
  16. “8”
    node1:6379> llen list1
    (integer) 10
    node1:6379> lrange list1 0 -1
  17. “3”
  18. “2”
  19. “2”
  20. “1”
  21. “4”
  22. “5”
  23. “6”
  24. “6”
  25. “7”
  26. “8”
    node1:6379> lrange list1 0 -3
  27. “3”
  28. “2”
  29. “2”
  30. “1”
  31. “4”
  32. “5”
  33. “6”
  34. “6”
    node1:6379> lrange list1 -3 -1
  35. “6”
  36. “7”
  37. “8”
    node1:6379> lpop list1
    “3”
    node1:6379> rpop list1
    “8”
    node1:6379> lrange list1 0 -1
  38. “2”
  39. “2”
  40. “1”
  41. “4”
  42. “5”
  43. “6”
  44. “6”
  45. “7”
    node1:6379>
* **小结**


	+ 掌握List类型的常用命令


### 知识点10:Set类型的常用命令


* **目标**:掌握Set类型的常用命令
* **实施**


	+ sadd:用于添加元素到Set集合中
	
	
		- 语法:sadd K e1 e2 e3 e4 e5……
	+ smembers:用于查看Set集合的所有成员
	
	
		- 语法:smembers K
	+ sismember:判断是否包含这个成员
	
	
		- 语法:sismember K e1
	+ srem:删除其中某个元素
	
	
		- 语法:srem K e
	+ **scard:统计集合长度**
	
	
		- 语法:scard K
	+ sunion:取两个集合的并集
	
	
		- 语法:sunion K1 K2
	+ sinter:取两个集合的交集
	
	
		- 语法:sinter K1 K2



node1:6379> sadd set1 1 1 2 2 3 4 3 4
(integer) 4
node1:6379> smembers set1
1) "1"
2) "2"
3) "3"
4) "4"
node1:6379> scard set1
(integer) 4
node1:6379> sismember set1 1
(integer) 1
node1:6379> sismember set1 5
(integer) 0
node1:6379> srem set1 3
(integer) 1
node1:6379> smembers set1
1) "1"
2) "2"
3) "4"
node1:6379> sadd set2 1 3 6 9 8 9
(integer) 5
node1:6379> sunion set1 set2
1) "1"
2) "2"
3) "3"
4) "4"
5) "6"
6) "8"
7) "9"
node1:6379> sinter set1 set2
1) "1"
node1:6379> 

​


* **小结**


	+ 掌握Set类型的常用命令


### 知识点11:Zset类型的常用命令


* **目标**:掌握Zset类型的常用命令
* **实施**


	+ zadd:用于添加元素到Zset集合中
	
	
		- 语法:zadd K score1 k1 score2 k2 ……
	+ zrange:范围查询
	
	
		- 语法:zrange K start end [withscores]
	+ zrevrange:倒序查询
	
	
		- 语法:zrevrange K start end [withscores]
	+ zrem:移除一个元素
	
	
		- 语法:zrem K k1
	+ zcard:统计集合长度
	
	
		- 语法:zcard K
	+ zscore:获取评分
	
	
		- 语法:zscore K k

node1:6379> zadd zset1 99.5 yingyu 30.7 shuxue 29.9 yuwen 100 shengwu 56.73 dili
(integer) 5
node1:6379> zrange zset1 0 -1

  1. “yuwen”
  2. “shuxue”
  3. “dili”
  4. “yingyu”
  5. “shengwu”
    node1:6379> zrevrange zset1 0 -1
  6. “shengwu”
  7. “yingyu”
  8. “dili”
  9. “shuxue”
  10. “yuwen”
    node1:6379> zrevrange zset1 0 -1 withscores
  11. “shengwu”
  12. “100”
  13. “yingyu”
  14. “99.5”
  15. “dili”
  16. “56.729999999999997”
  17. “shuxue”
  18. “30.699999999999999”
  19. “yuwen”
  20. “29.899999999999999”
    node1:6379>
    node1:6379> zrem zset1 yuwen
    (integer) 1
    node1:6379> zrevrange zset1 0 -1 withscores
  21. “shengwu”
  22. “100”
  23. “yingyu”
  24. “99.5”
  25. “dili”
  26. “56.729999999999997”
  27. “shuxue”
  28. “30.699999999999999”
    node1:6379>
    node1:6379> zcard zset1
    (integer) 4
    node1:6379> zscore zset1 shuxue
    “30.699999999999999”

	+ 注意:Redis中不建议存储小数值,存在精度问题,建议转换为整形存储
* **小结**


	+ 掌握Zset类型的常用命令




![img](https://img-blog.csdnimg.cn/img_convert/47b8cfe6415871c31219c486b6455181.png)
![img](https://img-blog.csdnimg.cn/img_convert/32ca829ea617cbdc537a1036a1c1e94b.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.youkuaiyun.com/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

+ 注意:Redis中不建议存储小数值,存在精度问题,建议转换为整形存储
  • 小结

    • 掌握Zset类型的常用命令

[外链图片转存中…(img-gckNIL8L-1715640249968)]
[外链图片转存中…(img-2T78cA9u-1715640249968)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值