当前位置: 首页 > news >正文

Redis指令学习(二)

1.字符串类型

keys *
set name abc
get name
setnx name abc  如果name不存在,则设置name的值
setex name 10 def   设置name的过期时间为10秒

setrange name 1 hehe   从第1位开始替换,替换为hehe。索引计数从0开始
mset a1 1 a2 2 a3 3
mget a1 a2 a3
set age 10
incr age  age值增加1
decr age   age值减少1
incrby age 2  age值增加2,其中2为步长
append name aaa




2.哈希类型

它是String类型的field和value的映射表,适合存储对象。
hset user id 1  
hset user name  zhangsan
hset user age 10
hget user id
hget user name
hget user age
hmset student id 2 name lisi age 15
hmget student id  name  age 
hexists user age
hlen 返回哈希集合中所有的键数值
hlen user
hdel 删除指定hash的field
hdel user id
hkeys 返回哈希里所有的字段
hkeys user
hvals 返回哈希里的所有的value
hvals user
hgetall  获取指定哈希的所有key和对应的value
hgetall user 




3.List类型
它是一个链表结构的集合,是一个双端链表的结构,可以通过push、pop、获取元素等。可以在List的头部或者尾部添加、删除元素。List既可以作为栈(先进后出),也可以作为队列(先进先出)。List中元素允许重复。
lpush  从头部加入元素(栈),先进后出
lpush list01 a
lpush list01 b
lrange list01 0 -1 取出栈中所有元素

rpush  从尾部加入元素(队列),先进先出
rpush list02 a
rpush list02 b
lrange list02 0 -1  取出队列中所有元素

linsert  插入元素
linsert list01 before b  c  在list01集合中,在b之前插入c
lset list01 0 m 替换list01中下标为0处的元素为m

lpop 从list头部删除元素并返回删除的元素
rpop 从list尾部删除元素并返回删除的元素

lindex list01 1 返回list01中第1个位置的元素(位置从0开始计数)
llen list01 返回list01中元素的个数




4.Set类型
它是String类型的无序集合,是通过hashtable实现的,可以对集合取交、并、差集
sadd 向指定的集合中添加元素
sadd set01 a
sadd set01 b
sadd set01 c
sadd set02 a
sadd set02 b 
sadd set02 d
sinter set01 set02 返回指定的两个集合的交集
sinterstore set03 set01 set02  返回指定的两个集合set01 set02的交集,并将其存入到set03
sunion set01 set02  取指定的两个集合的并集
sunionstore set03 set01 set02  返回指定的两个集合set01 set02的并集,并将其存入到set03
sdiff set01 set02 返回指定的两个集合的差集,即set01中存在而set02中不存在的元素


smembers set03   返回set03集合中的所有成员
scard set01 获取set01集合中元素的个数
sismember set01 p   判断p是否为集合set01中的元素
smove set01 set02  c   将set01集合中的元素c移动到set02集合中(类似于剪切并粘贴)




5.ZSet集合
它是有序集合
zadd zset01 3 c  向有序集合中添加元素c
zadd zset01 4 d
zadd zset01 5 e
zrange zset01 0 -1  返回指定集合的所有元素
zrem zset01 c 删除zset01中元素c
zcard zset01 返回集合zset01里所有元素的个数
zcount zset01 3 5  返回集合zset01中score在给定区间3 5中的元素数量




相关文章:

  • Redis的持久化机制RDB与AOF
  • Linux source命令
  • Dubbo入门示例
  • 网络编程之BIO、NIO、AIO
  • 脏读+synchronized使用
  • volatile使用
  • Can not find the tag library descriptor for http://java.sun.com/jsp/jstl/ core
  • javax.servlet.jsp.JspException cannot be resolved to a type
  • 使用wait/notify模拟Queue+ThreadLocal
  • 多线程模式中的单例
  • Semaphore信号量
  • Linux中./configure、make、make install 命令
  • 无锁并行计算框架Disruptor
  • 重入锁+读写锁+公平锁+非公平锁
  • JVM各组成部分说明+相关参数设置
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Angularjs之国际化
  • exif信息对照
  • Gradle 5.0 正式版发布
  • Mac转Windows的拯救指南
  • 对象管理器(defineProperty)学习笔记
  • 回顾2016
  • 记一次删除Git记录中的大文件的过程
  • 老板让我十分钟上手nx-admin
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端学习笔记之观察者模式
  • 什么软件可以剪辑音乐?
  • 使用 Docker 部署 Spring Boot项目
  • 微信支付JSAPI,实测!终极方案
  • 写给高年级小学生看的《Bash 指南》
  • 用jquery写贪吃蛇
  • 正则表达式
  • 2017年360最后一道编程题
  • 容器镜像
  • ​业务双活的数据切换思路设计(下)
  • #pragma once
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $(selector).each()和$.each()的区别
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (五)关系数据库标准语言SQL
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)VC++中ondraw在什么时候调用的
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net CHARTING图表控件下载地址
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core 版本不支持的问题
  • .net MySql
  • .net Stream篇(六)
  • .NET框架设计—常被忽视的C#设计技巧
  • ?.的用法