Redis - Chapter 5 - 8 data types

itread01 2021-01-24 13:06:47
redis chapter data types


# Catalog - One 、Redis Yes key The operation of - Two 、 Five data types - String Type - List( aggregate ) - Set( aggregate ) - Hash( Make a hash of ) - Zset( Ordered set )- 3、 ... and 、 Three special data types - geospatial( Location ) - hyperloglog( Advantages : It takes up little memory ) - Bitmap( Dot matrix )## One 、Redis Yes key The operation of - Judge key Whether there is :exists key_name- Set key The expiration date of :expire key_name [ Time value of expiration ](number Type )- Look at key The expiration date of :ttl key_name- Get all of key: keys *## Two 、 Five data types ### String( String ) String type operation :- Set value :set key_name value- Get value :get key_name- Append string , If the current key If it doesn't exist, a new one will be created key: append key_name value- Get string length :strlen key_name- Retrieve string :getrange key_name [start index] [end index]- The specified string overlaps the given key Stored string value , The position of the overlay is from the offset offset( Number type ) Start :setrange key_name offset value- Specified for key Set value and its expiration time , If key Already exists ,setex Command will replace the old value : setex key_name [expiration time] value- First get the value and then set it :getset key_name value Number type operation :- number The number type increases 1:incr key_name- number Number type minus 1:decr key_name- Increase the specified value :incrby key_name [ Specific value ]number Type - Decrease the specified value :decrby key_name key_name [ Specific value ]number Type batch operation :- Batch settings :mset key_name1 value1 key_name2 value2 key_name3 value3- Batch get value : - The way 1: mget key_name1 key_name2 key_name3 - The way 2:msetnx key_name1 key_name2 key_name3 // This is atomic manipulation , If you want all the success , To fail all . ### List( aggregate )- Set value : - left :lpush key_name value - right :rpush key_name value - Get value : - left : - lrange key_name [start index] [end index] - lrange key_name 0 -1 Get all the elements - Remove data : - left :lprop key_name - right :rprop key_name- According to arguments count Value , Remove and arguments from list value Equal elements : - lrem key_name [count] value - count > 0: Search from the header to the tail , Remove and value Equal elements , The quantity is count. - count < 0: Search the header from the end of the table , Remove and value Equal elements , The quantity is count Absolute value of . - count = 0: Remove all and in the table value Equal value .- Get elements by index :lindex key_name [index]- Get the length of the collection :llen key_name- Replace the value of the specified subscript in the list , If it doesn't exist, it will report an error :lset key_name [index] value- Insert elements before or after the elements of the list . When the specified element does not exist in the list , Do nothing . When the list doesn't exist , Treated as an empty list , Do nothing . If key Not a list type , Return an error : linsert key_name [before] || [after] oldvalue newvalue### Set( aggregate )- Set value :sadd key_name value- Get value :smembers key_name- Randomly extract data from a set :srandmember key_name- Randomly extract a specified number of data from the set :srandmemer key_name [number]- Remove elements :srem key_name value- Used to remove the specified key One or more random elements of , The removed element is returned after removal : spop key_name- Determine if the value is in the set :sismember key_name value- Gets the number of elements in the collection :scard key_name- Operations between sets : - Move values to another collection :smove oldlist newlist value - Difference set :sidff oldlist newlist - intersection :sinter oldlist newlist - Union :sunion oldlist newlist### Hash( Make a hash of )- Set value : - The way 1:hset key_name filed1 value - The way 2:hsetnx key_name filed1 value // If it doesn't exist, you can set - The way 3:hsetnx key_name filed1 value // If it exists, it cannot be set - Get value :hget key_name filed1- Get all the values :hgetall key_name- Delete the value of a field in the collection :hdel key_name filed1- Gets the number of elements in the collection :hlen key_name- Judge key Whether there is :hexists key_name- Get all of filed: hkeys key_name- Get all the values :hvals key_name- Self increasing :hincrby key_name filed1 1- Autoreduction :decrby key_name filed1 1- The batch operation : - Set value :hmset key_name filed1 value1 filed2 value2 - Get value :hmget key_name filed1 filed2### Zset( Ordered set )- Set value (number: Identification bits for sorting , This can be repeated ):zadd key_name [number] value- Set multiple values (number: Identification bits for sorting , This can be repeated ): zadd key_name [number] value2 [number] value3- Get value :zrange key_name 0 -1- Sort :zrangebysocre key_name -inf +inf- Remove elements :zrem key_name value- Gets the number of elements in the collection :zcard key_name- Gets the number of members in the specified interval :zcount key_name [start index] [end index]## 3、 ... and 、 Three special data types ### geospatial( Location )- The location of the new city :geoadd china:city 116.40 39.90 beijing- Get the longitude and latitude of the specified city :geopos china:city beijing chongqing- Get the distance between two people :geodist china:city beijing shanghai km- Gets the coordinates within the specified radius :georadius china:city 110 30 1000 km- Looking for elements based on elements :georeadiusbymember china:city beijing 1000 km### hyperloglog( Advantages : It takes up little memory )- Set value :PFadd key_name value1 value2 value3 value4 value5 value6- Get the quantity :PFCOUNT key_name- Merge two sets :PFMERGE New collection aggregate 2 aggregate 3### Bitmap( Dot matrix )- Record clocks from Monday to Friday :setbit sign 0 1 // 0 What day is it 1 Whether to punch in or not - Check to see if you clock in on a particular day :gitbit sign 3- Count the number of days to punch in :bitc
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://javamana.com/2021/01/20210124130558982e.html

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云