redis
2021/7/14 2:05:09
本文主要是介绍redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
你想了解的redis都在这里
- 1.概述
- 1.简介
- 2.数据库发展历程
- 3.关系型 VS 非关系型
- 4.redis特点
- 2.安装/启动/关闭
- 1.安装
- 2.启动
- 3.关闭
- 3.redis客户端
- 4.redis基本知识
- 5. redis的五种数据结构
- 6. redis中的操作命令
- 1.有关key的操作命令
- 2. 有关string类型数据的操作命令
- 3.有关list类型数据的操作命令
1.概述
1.简介
Redis是一种数据库。能够存储数据、管理数据的一种软件。
#用C语言编写的 # 开源的 # 基于内存运行并支持持久化的 #高性能的nosql数据库
Redis中的数据大部分时间都是存储在内存中,适合存储频繁访问、且数据量比较小的数据。
2.数据库发展历程
1.单机数据库时代:一个应用,一个数据库实例
2.缓存、水平切分时代
3.读写分离时代
4.分库分表时代(集群)
5.nosql时代
3.关系型 VS 非关系型
关系型数据库:oracle、mysql、DB2、sqlserver、…
非关系型数据库:彻底改变底层存储机制。不再采用关系数据模型,而是采用聚合数据结构存储数据。 redis、mongoDB、HBase、…
4.redis特点
1.支持数据持久化
2.支持多种数据结构
3.支持数据备份
2.安装/启动/关闭
1.安装
1.下载
2.解压 tar-zxvf …
3.编译: make
需要先安装gcc
编译结果:在redis的安装目录下src目录中,生成redis的一系列可执行文件。
4.make install
把redis的安装目录下src目录中生成redis的一系列可执行文件拷贝到/usr/local/bin中,把任何目录下都可以执行redis命令
2.启动
1.前台启动:在任何目录下执行 redis-server
2.后台启动:在任何目录下执行 redis-server &
3.启动redis服务时,指定配置文件:redis-server redis.conf &
3.关闭
1)、通过kill命令:
ps -ef|grep redis查看pid
kill -9 pid
2)、通过redis-cli命令关闭:
redis-cli shutdown
3.redis客户端
用来连接redis服务,向redis服务端发送命令,并且显示redis服务处理结果。
redis-cli: 是redis自带客户端,使用命令redis-cli就可以启动redis的客户端程序。
命令:
- redis-cli:默认连接127.0.0.1(本机)的6379端口上的redis服务。
- redis-cli -p 端口号:连接127.0.0.1(本机)的指定端口上的redis服务。
- redis-cli -h ip地址 -p 端口:连接指定ip主机上的指定端口的redis服务。
- 退出客户端:exit或者quit
4.redis基本知识
- 1)、测试redis服务的性能: redis-benchmark
- 2)、查看redis服务是否正常运行: ping 如果正常—pong
- 3)、查看redis服务器的统计信息:
info 查看redis服务的所有统计信息
info [信息段] 查看redis服务器的指定的统计信息,如:info Replication - 4)、redis的数据库实例:
a. 作用类似于mysql的数据库实例, redis中的数据库实例只能由redis服务来创建和维护, 开发人员不能修改和自行创建数据库实例;
b. 默认情况下,redis会自动创建16个数据库实例, 并且给这些数据库实例进行编号,从0开始,一直到15,使用时通过编号来使用数据库;
c. 如果16个不够用,也可以通过配置文件,指定redis自动创建的数据库个数;
d. redis的每一个数据库实例本身占用的存储空间是很少的,所以也不会造成存储空间的太多浪费。
e. 默认情况下,redis客户端连接的是编号是0的数据库实例;可以使用select index切换数据库实例。 - 5)、查看当前数据库实例中所有key的数量:dbsize
- 6)、查看当前数据库实例中所有的key:keys *
- 7)、清空数据库实例:flushdb
- 8)、清空所有的数据库实例:flushall
- 9)、查看redis中所有的配置信息:config get *
查看redis中的指定的配置信息:config get parameter
5. redis的五种数据结构
- String 单key : 单value
- list 单key :多有序value 这里的顺序是由存放的时候决定的
- set 单key :多无序value
- hash 单key :对象
- zset 单key :多有序value 这里的顺序不由存放的时候决定。zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。
6. redis中的操作命令
1.有关key的操作命令
- a)查看数据库中的key:keys pattern
*:匹配0个或者多个字符
?: 匹配1个字符
[]:匹配[]里边的1个字符 - b)判断key在数据库中是否存在
exists key 如果存在,则返回1;如果不存在,则返回0
exists key [key key …] 返回值是存在的key的数量 - c)移动指定key到指定的数据库实例:move key index
- d)查看指定key的剩余生存时间:ttl key
如果key没有设置生存时间,表示永不过期,返回-1
如果key不存在,返回-2 - e)设置key的最大生存时间:expire key seconds
- f)查看指定key的数据类型:type key
- g)重命名key: rename key newkey
- h)删除指定的key:del key [key key …]
2. 有关string类型数据的操作命令
- a)将string类型的数据设置到redis中:set 键 值
如果key已经存在,则后来的value会把以前的value覆盖掉. - b)从redis中获取string类型的数据:get 键
- c)追加字符串:append key value
返回追加之后的字符串长度;
如果key不存在,则新创建一个key,并且把value值设置为value - d)获取字符串数据的长度:strlen key
- e)将字符串数值进行加1运算:incr key
返回加1运算之后的数据;
如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算;
要求key所表示value必须是数值,否则,报错。 - f)将字符串数值进行减1运算:decr key
返回减1运算之后的数据;
如果key不存在,首先设置一个key,值初始化为0,然后进行decr运算;
要求key所表示value必须是数值,否则,报错。 - g)将字符串数值进行加offset运算:incrby key offset
返回加offset运算之后的数据;
如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算;
要求key所表示value必须是数值,否则,报错。 - h)将字符串数值进行减offset运算:decrby key offset
返回减offset运算之后的数据;
如果key不存在,首先设置一个key,值初始化为0,然后进行decrby运算;
要求key所表示value必须是数值,否则,报错。 - 闭区间获取字符串key中从start到end的字符组成的子字符串:getrange key startIndex endIndex
下标自左至右,从0开始,依次往后,最后一个字符的下标是字符串长度-1;
字符串中每一个下标也可以是负数,负下标表示自右至左,从-1开始,依次往前,最右边一个字符的下标是-1。 - j)用value覆盖从下标为startIndex开始的字符串,能覆盖几个字符就覆盖几个字符:setrange key startIndex value
- k)设置字符串数据的同时,设置它最大生命周期:setex key seconds value
- l)设置string类型的数据value到redis数据库中,当key不存在时设置成功,否则,则放弃设置:setnx key value
- m)批量将string类型的数据设置到redis中:mset 键1 值1 键2 值2 …
- n)批量从redis中获取string类型的数据:mget 键1 键2 键3…
- o)批量设置string类型的数据value到redis数据库中,当所有key都不存在时设置成功,否则(只要有一个已经存在),则全部放弃设置:msetnx 键1 值1 键2 值2 …
3.有关list类型数据的操作命令
概述:
一个key对应多个value;
多个value之间有顺序,最左侧是表头,最右侧是表尾;
每一个元素都有下标,表头元素的下标是0,依次往后排序,最后一个元素下标是列表长度-1;
每一个元素的下标又可以用负数表示,负下标表示从表尾计算,最后一个元素下标用-1表示;
元素在列表中的顺序或者下标由放入的顺序来决定。
- a)将一个或者多个值依次插入到列表的表头(左侧):lpush key value [value value …]
这篇关于redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧
- 2024-12-04Redis入门:简单教程详解
- 2024-11-29Redis开发入门教程:从零开始学习Redis
- 2024-11-27Redis入门指南:快速掌握Redis基础操作