文章目录

  • Redis特点
  • Redis数据库相关指令
    • 1. 数据库操作指令
    • 2. 操作key相关指令
    • 3. String类型
      • 1. 内存存储模型
      • 2. 常用操作命令
    • 4. List类型
      • 1.内存存储模型
      • 2.常用操作指令
    • 5. Set类型
      • 1.内存存储模型
      • 2.常用命令
    • 6. ZSet类型
      • 1.内存模型
      • 2.常用命令
    • 7. hash类型
      • 1.内存模型
      • 2.常用命令

NoSQL的引言

NoSQL(Not Only SQL ),意即不仅仅是SQL, 泛指非关系型的数据库。Nosql这个技术门类,早期就有人提出,发展至2009年趋势越发高涨。

redis是一个内存型的数据库

Redis特点

  • Redis是一个高性能key/value内存型数据库

  • Redis支持丰富的数据类型

  • Redis支持持久化

  • Redis单线程,单进程


Redis数据库相关指令

1. 数据库操作指令

# 1.Redis中库说明
- 使用redis的默认配置器动redis服务后,默认会存在16个库,编号从0-15
- 可以使用select 库的编号 来选择一个redis的库# 2.Redis中操作库的指令
- 清空当前的库  FLUSHDB
- 清空全部的库  FLUSHALL# 3.redis客户端显示中文
-   ./redis-cli  [-p 7000] --raw

2. 操作key相关指令

# 1.DEL指令
- 语法 :  DEL key [key ...]
- 作用 :  删除给定的一个或多个key 。不存在的key 会被忽略。
- 可用版本: >= 1.0.0
- 返回值: 被删除key 的数量。 # 2.EXISTS指令
- 语法:  EXISTS key
- 作用:  检查给定key 是否存在。
- 可用版本: >= 1.0.0
- 返回值: 若key 存在,返回1 ,否则返回0。# 3.EXPIRE
- 语法:  EXPIRE key seconds
- 作用:  为给定key 设置生存时间,当key 过期时(生存时间为0 ),它会被自动删除。
- 可用版本: >= 1.0.0
- 时间复杂度: O(1)
- 返回值:设置成功返回1 。# 4.KEYS
- 语法 :  KEYS pattern
- 作用 :  查找所有符合给定模式pattern 的key 。
- 语法:KEYS * 匹配数据库中所有key 。KEYS h?llo 匹配hello ,hallo 和hxllo 等。KEYS h*llo 匹配hllo 和heeeeello 等。KEYS h[ae]llo 匹配hello 和hallo ,但不匹配hillo 。特殊符号用 "\" 隔开
- 可用版本: >= 1.0.0
- 返回值: 符合给定模式的key 列表。# 5.MOVE
- 语法 :  MOVE key db
- 作用 :  将当前数据库的key 移动到给定的数据库db 当中。
- 可用版本: >= 1.0.0
- 返回值: 移动成功返回1 ,失败则返回0 。# 6.PEXPIRE
- 语法 :  PEXPIRE key milliseconds
- 作用 :  这个命令和EXPIRE 命令的作用类似,但是它以毫秒为单位设置key 的生存时间,而不像EXPIRE 命令那样,以秒为单位。
- 可用版本: >= 2.6.0
- 时间复杂度: O(1)
- 返回值:设置成功,返回1  key 不存在或设置失败,返回0# 7.PEXPIREAT
- 语法 :  PEXPIREAT key milliseconds-timestamp
- 作用 :  这个命令和EXPIREAT 命令类似,但它以毫秒为单位设置key 的过期unix 时间戳,而不是像EXPIREAT那样,以秒为单位。
- 可用版本: >= 2.6.0
- 返回值:如果生存时间设置成功,返回1 。当key 不存在或没办法设置生存时间时,返回0 。(查看EXPIRE 命令获取更多信息)# 8.TTL
- 语法 :   TTL key
- 作用 :   以秒为单位,返回给定key 的剩余生存时间(TTL, time to live)。
- 可用版本: >= 1.0.0
- 返回值:当key 不存在时,返回-2 。当key 存在但没有设置剩余生存时间时,返回-1 。否则,以秒为单位,返回key 的剩余生存时间。
- Note : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1 。# 9.PTTL
- 语法 :  PTTL key
- 作用 :  这个命令类似于TTL 命令,但它以毫秒为单位返回key 的剩余生存时间,而不是像TTL 命令那样,以秒为单位。
- 可用版本: >= 2.6.0
- 返回值: 当key 不存在时,返回-2 。当key 存在但没有设置剩余生存时间时,返回-1 。
- 否则,以毫秒为单位,返回key 的剩余生存时间。
- 注意 : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1 。# 10.RANDOMKEY
- 语法 :  RANDOMKEY
- 作用 :  从当前数据库中随机返回(不删除) 一个key 。
- 可用版本: >= 1.0.0
- 返回值:当数据库不为空时,返回一个key 。当数据库为空时,返回nil 。# 11.RENAME
- 语法 :  RENAME key newkey
- 作用 :  将key 改名为newkey 。当key 和newkey 相同,或者key 不存在时,返回一个错误。当newkey 已经存在时,RENAME 命令将覆盖旧值。
- 可用版本: >= 1.0.0
- 返回值: 改名成功时提示OK ,失败时候返回一个错误。# 12.TYPE
- 语法 :  TYPE key
- 作用 :  返回key 所储存的值的类型。
- 可用版本: >= 1.0.0
- 返回值:none (key 不存在)string (字符串)list (列表)set (集合)zset (有序集)hash (哈希表)

3. String类型

1. 内存存储模型

2. 常用操作命令

命令 说明
set 设置一个key/value
get 根据key获得对应的value
mset 一次设置多个key value
mget 一次获得多个key的value
getset 获得原始key的值,同时设置新值
strlen 获得对应key存储value的长度
append 为对应key的value追加内容
getrange 索引0开始 截取value的内容
setex 设置一个key存活的有效期(秒)
psetex 设置一个key存活的有效期(毫秒)
setnx 存在不做任何操作,不存在添加
msetnx原子操作(只要有一个存在不做任何操作) 可以同时设置多个key,只有有一个存在都不保存
decr 进行数值类型的-1操作
decrby 根据提供的数据进行减法操作
Incr 进行数值类型的+1操作
incrby 根据提供的数据进行加法操作
Incrbyfloat 根据提供的数据加入浮点数

4. List类型

list 列表 相当于java中list 集合 特点 元素有序 且 可以重复

1.内存存储模型

2.常用操作指令

命令 说明
lpush 将某个值加入到一个key列表头部 例: lpush lists wangze liuxuemeng zhangsan lisi
lpushx 同lpush,但是必须要保证这个key存在
rpush 将某个值加入到一个key列表末尾
rpushx 同rpush,但是必须要保证这个key存在
lpop 返回和移除列表左边的第一个元素
rpop 返回和移除列表右边的第一个元素
lrange 获取某一个下标区间内的元素 例:lrange lists 0 -1
llen 获取列表元素个数
lset 设置某一个指定索引的值(索引必须存在)
lindex 获取某一个指定索引位置的元素
lrem 删除重复元素
ltrim 保留列表中特定区间内的元素
linsert 在某一个元素之前,之后插入新元素

5. Set类型

特点: Set类型 Set集合 元素无序 不可以重复

1.内存存储模型

2.常用命令

命令 说明
sadd 为集合添加元素
smembers 显示集合中所有元素 无序
scard 返回集合中元素的个数
spop 随机返回一个元素 并将元素在集合中删除
smove 从一个集合中向另一个集合移动元素 必须是同一种类型
srem 从集合中删除一个元素
sismember 判断一个集合中是否含有这个元素
srandmember 随机返回元素
sdiff 去掉第一个集合中其它集合含有的相同元素 (显示 = 后者 - 前者)
sinter 求交集
sunion 求和集

6. ZSet类型

特点: 可排序的set集合 排序 不可重复

ZSET 官方 可排序SET sortSet

1.内存模型

2.常用命令

命令 说明
zadd 添加一个有序集合元素 zadd zsets1 10 zhangsan 9 xiaohei 100 wangze 60 wangze 后面替换前面重复的
zcard 返回集合的元素个数
zrange 升序 zrevrange 降序 返回一个范围内的元素
zrangebyscore 按照分数查找一个范围内的元素
zrank 返回排名
zrevrank 倒序排名
zscore 显示某一个元素的分数
zrem 移除某一个元素
zincrby 给某个特定元素加分

7. hash类型

特点: value 是一个map结构 存在key value key 无序的

1.内存模型

2.常用命令

命令 说明
hset 设置一个key/value对
hget 获得一个key对应的value
hgetall 获得所有的key/value对
hdel 删除某一个key/value对
hexists 判断一个key是否存在
hkeys 获得所有的key
hvals 获得所有的value
hmset 设置多个key/value
hmget 获得多个key的value
hsetnx 设置一个不存在的key的值
hincrby 为value进行加法运算
hincrbyfloat 为value加入浮点值

Redis -- 数据库常用命令大全相关推荐

  1. 删除mysql数据库中表abc语句_MySQL数据库常用命令大全

    我们经常用到的MySQL数据库常用命令 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mys ...

  2. MySQL数据库常用命令大全(完整)(表格形式)

    本文目录 本地登录相关命令 mysql服务启动和关闭 数据库相关命令 增删改查等相关命令 查询一个.多个.所有字段 列(字段)起别名和参与数学运算 条件查询和多字段排序 表的创建 表的删除 查看建表语 ...

  3. Redis客户端常用命令大全

    基本操作 命令 含义 select [number] 切换库,默认16个库 flushdb 清空库 dbsize 查看数据库中数据个数 flushall 清空所有库 key操作 命令 含义 keys ...

  4. Redis数据库常用命令(超级详细)

    1.key 1.del key 该命令用于在 key 存在时删除 key2.dump key 序列化给定 key ,并返回被序列化的值3.exists key 检查给定 key 是否存在4.expir ...

  5. Redis数据库常用命令

    进入管理: redis-cli 查看某个数据库: select * 查看数据库中的数据: keys * 设置表数据 hset 查询表数据: hlen

  6. NoSQL之Redis配置与数据库常用命令

    目录 一.关系型数据库与非关系型数据库概述 1.1 关系型数据库 1.2 非关系型数据库 二.关系型数据库与非关系型数据库的区别 2.1 数据的存储方式不一样 2.2 扩展的方式不同 2.3 对事务性 ...

  7. Redis初学:4(Redis的常用命令)

    Redis的常用命令 查看所有key keys * 如下图: 插入key set key value 如下图: 取出key对应的value值 get key 如下图: 查看某个key是否存在 exis ...

  8. Ubuntu常用命令大全[显示桌面]

    Ubuntu常用命令大全 查看软件xxx安装内容 #dpkg -L xxx 查找软件 #apt-cache search 正则表达式 查找文件属于哪个包 #dpkg -S filename apt-f ...

  9. Linux常用命令大全-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  10. Redis 中常用命令

    Redis 中常用命令 keys 返回满足给定 pattern 的所有 key. 127.0.0.1:6379> keys *1) "name2"2) "myzse ...

最新文章

  1. 【Linux】一步一步学Linux——dpkg-query命令(271)
  2. 51nod 1243 排船的问题(二分)
  3. PHP设计模式——代理模式
  4. 关于VM安装Linux系统成功后无法连接WIFI
  5. [小结] flexbox
  6. php布署 群辉_docker一键搭建Nginx+PHP环境(含自动部署命令)
  7. C语言小游戏(一)----猜数游戏
  8. Pycharm下载包慢的问题
  9. 【基础】PNP三极管导通条件____很具代表性
  10. android基础教程:多个页面时如何设置首页
  11. 2021年高处安装、维护、拆除考试试卷及高处安装、维护、拆除操作证考试
  12. pytorch:线性回归实战
  13. 创业三十年后说了五遍 hard:乔布斯在日本被遗忘的声音
  14. 华硕笔记本键盘突然个别键失灵
  15. linux安装核显驱动程序,在Ubuntu系统上怎么安装英特尔核显驱动安装器
  16. Brocade 6510 交换机清空配置,重新initiator交换机
  17. 混合精度训练、分布式训练等训练加速方法
  18. 判断一个多边形是否是凸多边形
  19. 遭遇腾讯SOSO爬虫攻击
  20. 【判断蜂蜜真伪的简单方法】

热门文章

  1. 修改 exchange服务器,升级Exchange2010-新服务器更改IP
  2. [PHP]如何使用Mobile_Detect来判断访问网站的设备:安卓,平板,电脑
  3. cmd命令 查询硬盘序列号,设备序列号,MAC地址,操作系统及安装时间,以及与AIDA64软件的对比
  4. Unity Opencv摄像头实时美颜(二)
  5. 【源码分享】短信平台插件74cms_v4.1_骑士人才系统
  6. 经典!史上最全免费收录网站搜索引擎登录口
  7. 华为手机解锁码计算工具_华为解锁码-华为解锁助手(华为手机一键解锁工具)v1.0.0.0 快速版-东坡下载...
  8. C语言 从入门到放弃
  9. 原生js获取html根元素,JS获取屏幕高度的简单实现代码
  10. pxe网络启动_什么是网络启动(PXE),以及如何使用它?