Redis的知识点总结~Linux系统操作~
- Redis_启动后杂项基础
- Redis一共16个数据库 SELECT[0~15] 来切换数据库
- 命令起效返回1 不起效返回0 或者nil 或者error 异常...
- DBSIZE 查询数据的数
- KEYS * 显示所有的key值.支持Ant风格
- KEYS k? 只查询k1 k2 而不查询k11
- KEYS k?? 只查询k11 k12 而不查询k1
- FLUSHDB 清空当前库. FLUSHALL清空所有库共16个
- Redis索引从0开始
- 默认端口6379
- Redis_常用五大数据类型
- Redis常见数据类型操作命令 redisdoc.com
- key
- keys *
- set k1 v1 设置key为k1 value为v1 如果存在k1就修改,覆盖了
- exists key的名字,判断某个key是否存在
- move key db ---> 当前库就没有了,被移除了
- expire key 秒钟:为给定的key设置过期时间
- ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期,过期就移除了
- type key 查看你的key是什么类型
- del key 删除
- String 字符串 是Redis最基本的类型,一共key对应一个value,是二进制安全的,可以包含jpg图片或者序列号的对象.value最多可以是512M
- set/get/del/append/strlen
- set k1 v1
- get k1
- del k1
- append k1 12345
- strlen k1
- incr/decr/incrby/decrby,一定要是数字才能进行加减
- incr k1 每次都+1
- decr k1 每次都-1
- incrby k1 2 每次都+2
- decrby k1 3 每次都-3
- getrange/setrange
- set k1 ty12345
- getrange k1 0 3 返回ty12 如果0 -1 返回全部
- setrange k1 0 xxx 返回7 此时get k1 返回xxx2345
- setex(set with expire)键秒值/setnx(if no exist)
- setex k4 10 v4 十秒后过期移除
- setnx k5 v5 如果不存在就设置 如果存在就不执行
- mset/mget/msetnx
- mset k1 v1 k2 v2 k3 v3
- mget k1 k2 k3
- msetnx k4 v4 k5 v5 如果数据库存在k4 和 k5 都不存在才执行,否则都不执行
- getset(先get再set) getset k1 v1 如果k1不存在则报错
- set/get/del/append/strlen
- 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 lpop list02 返回1
- rpop list01 返回1 rpop list02 返回5
- lindex ,按照索引下标获得元素(从上到下) lindex list01 2 返回2
- llen 获取长度 llen list01 返回长度数
- lrem 删除N个value lrem list01 2 3 表示删除list01中2个3 .返回删除的数量
- ltrim 截取下标从0开始.截取内容为key的新value. ltrim list01 0 4 表示截取下标为0 1 2 3 4的数据
- rpoplpush 把第一个的尾值放到第二个首值 rpoplpush list01 list02 此时list01的最后一个值会被移除.list02会添加一个list01移除的那个值到下标0处
- lset list01 1 ddd 把list01下标为1的值改为ddd
- linsert key before/after 值1 值2 执行成功返回key的长度 失败返回-1
- linsert list01 before aaa bbb 在list01中的第一个值为aaa的前面添加bbb
- linsert list01 after ccc ddd 在list01中的第一个值为ccc的后面添加ddd
- lpush/rpush/lrange
- Set 集合 String类型的无序集合.值不允许重复.
- sadd/smembers/sismember
- sadd set01 1 1 1 1 2 3 3 4 返回插入成功数4
- smembers set01 查看set01里面的数据
- sismember set01 x 查询值x是否在set01里面.是返回1 否返回0.
- scard 获取集合里面的元素个数
- srem set01 3 删除集合中set01的值为3的数据
- srandmember set01 3 在set01中随机出三条数据
- spop set01 3 随机删除三条数据
- smove set01 set02 x 把set01中的值x移到set02中
- sdiff/sinter/sunion
- sdiff set01 set02 ... 差集 set01中有.而set02和后面中没有
- sinter set01 set02 ... 交集 set01 和 set02和后面中都有
- sunion set01 set02 ... 并集 set01 和 set02和后面中全部的数据.去重
- sadd/smembers/sismember
- Hash 哈希 类似于java的Map.KV模式不变.但V是一个键值对.
- hset/hget/hmset/hmget/hgetall/hdel
- hset user id 11 设置key为user key为id 值为11.插入成功返回1
- hget user id 得到key为user key为id 的值.返回11
- hmset student id 7 name daniu age 26 插入成功返回ok.失败error.
- hmget student id name age 返回三条数据第一条"7".第二条"lisi".第三条"26".
- hgetall student 返回student的所有数据.返回6条.第一条"id".第二条"7".第三条"name".第四条"lisi"以此类推
- hdel student name age 删除key为student key为name age 的数据.返回2.此时hgetall返回两条数据
- hlen student 返回student里面key的数量
- hexists student id 判断student中是否有key为id.有返回1.无返回0
- hkeys/hvals
- hkeys student 得到student中所有的key
- hvals student 得到student中所有的value
- hincrby/hincrbyfloat
- hincrby student id 2 执行一次id的值都会增长2
- hincrbyfloat id 1.1 执行一次id的值都会增长1.1
- hsetnx user id 25 如果不存在则添加.添加成功返回1.失败返回0
- hset/hget/hmset/hmget/hgetall/hdel
- Zset(sorted set) 有序集合 和set一样不允许重复,不同的是每个元素都会关联一个double类型的分数,通过这些分数从大到小降序排列,成员是唯一的,分数是可以重复的
- 多说一句
- 在set基础上,加一个score值
- 之前set是k1 v1 v2 v3
- 现在zset是k1 score1 v1 score2 v2
- zadd
- zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 返回插入数量5
- zrange
- zrange zset01 1 3 查看下标为1 2 3的数据.返回三条数据.第一条"v2".第二条"v3".第四条"v4"
- zrange zset01 1 3 withscores 查看下标为1 2 3的数据.返回六条数据.第一条"v2".第二条"70".第四条"v3".以此类推
- zrangebyscore key 开始score 结束score
- zrangebyscore zset01 60 90 返回60<=score<=90的值.返回四条数据.第一条"v1".第二条"v2".第三条"v3".第四条"v4".
- zrangebyscore zset01 60 90 withscores 返回60<=score<=90的值和score.返回八条数据.第一条"v1".第二条"60".第三条"v2".第四条"70".以此类推
- zrangebyscore zset01 60 (90 返回60<=score<90的值.返回三条数据.第一条"v1".第二条"v2".第三条"v3".
- zrangebyscore zset01 (60 (90 返回60<score<90的值.返回两条数据.第一条"v2".第二条"v3".
- zrangebyscore zset01 60 90 withscores limit 2 1 先查出60<=score<=90的数据.从查询出来的数据下标2开始查询1条数据.此时返回两条数据.第一条"v3".第二条"80"
- zrem zset01 v5 v3 返回成功删除的记录数2
- zcard/zcount key score区间/zrank key values值,作用是获取下标值/zscore key 对应的值,获得分数
- zrevrank key values值,作用是逆序获得下标值
- zrevrange
- zrevrangebyscore key 结束score 开始score
- 多说一句
- key
Redis的知识点总结~Linux系统操作~的更多相关文章
- redis在windows和Linux系统下的下载、安装、配置
1.下载redis安装包 在redis的官网只有Linux系统下的安装包,微软的GitHub上有提供windows版本的redis安装包 redis中文网:http://www.redis.cn/ 微 ...
- 使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
文章目录 1.代码 2.测试结果 2.1.第一次发送 2.2.填写正确的验证码 2.3.填写错误的验证码 连续发送多次验证码 环境准备:虚拟机Linux系统,redis安装在虚拟机中. 前提条件:虚拟 ...
- Linux系统操作指令汇总
1.系统配置 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIO ...
- linux系统操作笔记
tar cvf test.tar /etc gzip test.tar bzep2 test.tar 归档压缩 tar czf test.tar.gz /etc vi /etc/test ...
- Redis安装启动(linux系统)
Redis简介 redis是以kv存储的nosql非关系型数据库 sql支持事务性,nosql不支持 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间 ...
- linux系统编程:cp的另外一种实现方式
之前,这篇文章:linux系统编程:自己动手写一个cp命令 已经实现过一个版本. 这里再来一个版本,涉及知识点: linux系统编程:open常用参数详解 Linux系统编程:简单文件IO操作 /*= ...
- Redis进阶实践之二如何在Linux系统上安装安装Redis
一.引言 上一篇文章写了"如何安装VMware Pro虚拟机"和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我们才可以在该系统上安装Redis. ...
- Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)
Redis进阶实践之二如何在Linux系统上安装安装Redis 一.引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我 ...
- Linux系统下Redis安装(一)
最近项目要使用Redis,特将这段时间将Redis的学习经验与大家分享,算是对这段时间学习成果的总结和技术提炼,不足之处还望大家批评指正. 项目背景: 有些很少改动的数据和经常使用的数据(例如系统中下 ...
随机推荐
- Flask开发微电影网站(一)
1.用到的Flask知识 1.使用整形,浮点型,路径型,字符串型下正则表达式路由转化器 2.使用GET与POST请求,上传文件,cookie获取与响应,404处理 3.使用模板自动转义,定义过滤器,定 ...
- Linux时间子系统之四:Timer在用户和内核空间流程
用户空间应用中创建一个Timer(alarm/setitimer/POSIX Timer等等),然后程序继续执行: 内核进入创建/设置Timer系统调用,开始计时,在超时后通过何种方式通知用户空间: ...
- JavaScript prototype原型和原型链详解
用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了, ...
- spring MVC 管理HttpClient---实现在java中直接向Controller发送请求
在spring MVC中,大多数时候是由客户端的页面通过ajax等方式向controller发送请求,但有时候需要在java代码中直接向controller发送请求,这时可以使用HttpCilent实 ...
- Android 不规则封闭区域填充 手指秒变油漆桶
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45954255: 本文出自:[张鸿洋的博客] 一.概述 在上一篇的叙述中,我们通 ...
- leetcode 26 80 删除已排序数组中重复的数据
80. Remove Duplicates from Sorted Array II Follow up for "Remove Duplicates":What if dupli ...
- Spring_boot入门(1)
Spring boot 将很多东西都集成在一起了,搭建maven项目的时候只需要引入很少的依赖就可以实现项目的搭建. 1.搭建maven项目结构 2.引入Spring boot 依赖 直接去官网找就可 ...
- python二维码生成器
周小董简书主页二维码.png 周小董博客主页二维码.png 现在,我们生活中到处可以看到二维码.它有啥好处呢?它具有信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性强等优点. 我们生 ...
- CAN总线的显性电平与隐性电平
读CAN总线的书时,都会涉及到总线电平的问题,CAN总线的电平分为显性电平与隐性电平,这是CAN总线物理层的核心部分,也是总线仲裁的基础.那何为显性,何为隐性呢? 根据孔丙火(微信公众号:孔丙火)的理 ...
- stm32的NVIC是什么?
NVIC的全称是Nested vectoredinterrupt controller,即嵌套向量中断控制器. 对于M3和M4内核的MCU,每个中断的优先级都是用寄存器中的8位来设置的.8位的话 ...