IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis 笔记(一)基础 -> 正文阅读

[大数据]Redis 笔记(一)基础

目录

什么是 Redis?

Redis 特点

Redis 安装

Redis 命令集

基础命令

Key 相关

String 相关

List 相关

Set 相关

ZSet 相关

Hash 相关

Redis 配置文件

Redis?持久化

Redis 事物

Redis 主从复制

Java 操作 Redis ?


什么是 Redis?

Redis是一个用C语言编写的、开源的、基于内存运行并支持持久化的 key-value、非关系型、NoSQL数据库

Redis中的数据大部分时间都是存储内存中的,适合存储频繁访问、数据量比较小的数据。

Redis 特点

  • 速度快,基于内存进行处理数据
  • 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
  • 支持?String,list,set,zset,hash 等数据结构的存储
  • 支持数据的备份,即 master-slave 模式的数据备份
  • 功能丰富。除了支持五种数据结构之外,还支持事务、流水线、发布/订阅、消息队列等功能
  • 原子性操作
  • 主从复制
  • 支持高可用和分布式

Redis 安装

基于 Linux 系统(菜鸟教程

# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make

Redis 命令集

基础命令

Redis 中的数据库实例只能由 Redis 服务来创建和维护,开发人员不能修改和自行创建数据库实例;默认情况下,Redis 会自动创建16个数据库实例,并且给这些数据库实例进行编号,从0开始,一直到15,使用时通过编号来使用数据库;可以通过配置文件,指定 Redis 自动创建的数据库个数;Redis 的每一个数据库实例本身占用的存储空间是很少的,所以也不造成存储空间的太多浪费。

1、启动 Redis 服务,& 表示以后台程序方式运行

? ? ? ? redis-server
? ? ? ? redis-server &
? ? ? ? redis-server redis.conf &

2、关闭 Redis服务

????????kill redis线程
? ? ? ? redis-cli shutdown (推荐)

3、连接 Redis 客户端

???????? redis-cli (默认连接127.0.0.1(本机)的6379端口上的 Redis 服务)
? ? ? ? ?redis-cli -p 端口号(连接127.0.0.1(本机)的指定端口上的 Redis 服务)
? ? ? ? ?redis-cli -h ip地址 -p 端口(连接指定ip主机上的指定端口的redis服务)

4、退出 Redis 客户端

????????exit
????????quit

5、切换数据库实例

????????select index (index 数据库实例数。例如 select 0,select 1)

6、测试redis服务的性能

????????redis-benchmark

7、查看redis服务是否正常运行

????????ping (如果正常---pong)

8、查看redis服务器的统计信息

????????info ????????????????(查看 Redis服务的所有统计信息)
????????info? [信息段]? ?(查看redis服务器的指定的统计信息。如:info Replication)

9、清空数据库实例

????????flushdb

10、清空所有的数据库实例

????????flushall(慎用)

11、查看redis中所有的配置信息

????????config get *
????????config get post (查看指定信息)

Key 相关

1、查看当前数据库实例中所有key的数量

????????dbsize ? ? ? ? ? ? ? ? ?

2、查看当前数据库实例中所有的key,pattern?可以为正则表达式,*匹配0个或者多个字符;?匹配1个字符;[]匹配里边的1个字符

????????keys pattern

3、判断key是否存在

????????exists key

4、移动指定key到指定的数据库实例,index 为数据库实例

????????move key?index

5、查看指定key的剩余生存时间,如果key没有设置生存时间,返回-1;如果key不存在,返回-2

????????ttl key

6、设置key的最大生存时间,seconds 秒数

????????expire key seconds?

7、查看指定key的数据类型

????????type key

8、重命名,newname?新名称

????????rename key?newname

9、删除,可以删除一个或多个key,返回删除key的数量

????????del key [key key ......] ?

String 相关

1、创建?

????????set?key?value

2、读取

????????get key

3、追加

????????append key?value

4、获取字符串长度

????????strlen key

5、返回加1运算之后的数据,如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算,要求key所表示value必须是数值,否则报错

????????incr key

6、返回减1运算之后的数据,如果key不存在,首先设置一个key,值初始化为0,?然后进行decr运算,要求key所表示value必须是数值,否则报错

????????decr key

7、返回加offset运算之后的数据,如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算,要求key所表示value必须是数值,否则报错

????????incrby key offset

8、返回减offset运算之后的数据,如果key不存在,首先设置一个key,值初始化为0,然后进行decrby运算,要求key所表示value必须是数值,否则报错

????????decrby key offset

9、检索字符串中下标范围内的数据,下标可以为负数

????????getrange key startIndex endIndex

10、从下标处开始覆盖 value 长度的字符串

????????setrange key startIndex value

11、创建字符串同时设置字符串最大生命周期(秒数)

????????setex key seconds value

12、创建不覆盖,key不存在时创建成功,否则失败

????????setnx key value

13、批量创建

????????mset key value?[key?value .....]?

14、批量获取

????????mget key [key key .....] ? ? ? ? ? ? ? ? ?

15、批量创建不覆盖,key都不存在时创建成功,否则失败

????????msetnx key value?[key?value .....]?? ?

List 相关

1、将一个或者多个值依次插入到列表的表头(左侧),如:lpush k1 1 2 3 ?结果:3 2 1

????????lpush key value [value value .....]

2、获取指定列表中指定下标区间的元素

????????lrange key startIndex endIndex

3、将一个或者多个值依次插入到列表的表尾(右侧),rpush k1 1 2 3 ?结果:1 2 3

????????rpush key value [value value .....] ? ?

4、从指定列表中移除并且返回表头元素(删除第一个值)

????????lpop key

5、从指定列表中移除并且返回表尾元素(删除最后一个值)

????????rpop key

6、获取指定列表中指定下标的元素

????????lindex key index

7、获取指定列表的长度

????????llen key

8、根据count值移除指定列表中跟value相等的数据。count>0:从列表的左侧移除count个跟value相等的数据;count<0:从列表的右侧移除count个跟vlaue相等的数据;count=0:从列表中移除所有跟value相等的数据

????????lrem key?count value

9、截取指定列表中指定下标区间的元素组成新的列表,并且赋值给key

????????ltrim key startIndex endIndex

10、将指定列表中指定下标的元素设置为指定值

????????lset key index value

11、将value插入到指定列表中位于pivot元素之前/之后的位置

????????linsert key before/after pivot vlaue

Set 相关

1、将一个或者多个元素添加到指定的集合中,如果元素已经存在,则忽略。返回成功个数

????????sadd key value [value value ......]

2、获取指定集合中所有的元素

????????smembers key

3、判断元素在集合中是否存在,存在返回1,不存在返回0

????????sismember key member

4、获取指定集合的长度

????????scard key

5、移除指定集合中一个或者多个元素,不存在的元素会被忽略,返回成功成功移除的个数

????????srem key?member [member .....]

6、随机获取指定集合中的一个或者多个元素,count>0,随机获取的多个元素之间不能重复;count<0,随机获取的多个元素之间可能重复

????????srandmember key?[count] ? ? ? ? ? ? ?

7、从指定集合中随机移除一个或者多个元

????????spop key?[count]

8、将指定集合中的指定元素移动到另一个元素

????????smove source dest member

9、获取第一个集合中有、但是其它集合中都没有的元素组成的新集合

????????sdiff key?key [key key ....]

10、获取所有指定集合中都有的元素组成的新集合(并集)

????????sinter key?key [key key ....]

11、获取所有指定集合中所有元素组成的大集合(交集)

????????sunion key key?[key key .....]

ZSet 相关

本质上是集合,所有元素不能重复。每一个元素都关联一个分数,redis会根据分数对元素进行自动排序,分数可以重复。

1、将一个或者多个member及其score值加入有序集合

????????zadd key score member [score member ....]

2、获取指定有序集合中指定下标区间的元素

????????zrange key startIndex endIndex [withscores]

3、获取指定有序集合中指定分数区间(闭区间)的元素

????????zrangebyscore key min max [withscores]

4、删除指定有序集合中一个或者多个元素

????????zrem key member [member......]

5、获取指定有序集合中所有元素的个数

????????zcard key

6、获取指定有序集合中分数在指定区间内的元素的个数

????????zcount key min max

7、获取指定有序集合中指定元素的排名(排名从0开始)

????????zrank key member

8、获取指定有序集合中指定元素的分数

????????zscore key member

9、获取指定有序集合中指定元素的排名(按照分数从大到小的排名)

????????zrevrank key member

Hash 相关

1、将一个或者多个field-vlaue对设置到哈希表中(如果key field已经存在,把value会把以前的值覆盖掉)

????????hset key filed1 value1 [field2 value2 ....]

2、获取指定哈希表中指定field的值

????????hget key field

3、批量将多个field-value对设置到哈希表中

????????hmset key filed1 value1 [field2 value2 ....]

4、批量获取指定哈希表中的field的值

????????hmget key field1 [field2 field3 ....]

5、获取指定哈希表中所有的field和value

????????hgetall key

6、从指定哈希表中删除一个或者多个field

????????hdel key field1 [field2 field3 ....]

7、获取指定哈希表中所有的filed个数

????????hlen key

8、判断指定哈希表中是否存在某一个field

????????hexists key field

9、获取指定哈希表中所有的field列表

????????hkeys key

10、获取指定哈希表中所有的value列表

???????hvals key

11、对指定哈希表中指定field值进行整数加法运算

????????hincrby key field int

12、对指定哈希表中指定field值进行浮点数加法运算

????????hincrbyfloat key field float

13、将一个field-vlaue对设置到哈希表中,当key-field已经存在时,则放弃设置;否则,设置file-value

????????hsetnx key field value

Redis 配置文件

Redis?持久化

Redis 事物

Redis 主从复制

Java 操作 Redis ?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:27:20  更:2021-10-28 12:29:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:28:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码