阿里云服务器在Ubuntu上安装redis并使用

news/2025/1/22 15:15:59/

redis_0">1、redis安装

sudo apt install lsb-release curl gpgcurl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.listsudo apt-get updatesudo apt-get install redis

如果你使用了包管理器来安装Redis,通常它会被安装到系统的默认位置。可以通过which命令查看redis的安装位置

which redis-server

which命令

redis_20">2、启动redis的三种方式

方式一

/etc/init.d/redis-server start

方式二

systemctl start redis-server

方式三

service redis-server start

service <a class=redis-server start" />

redis_38">重启redis

service redis-server restart

redis_43">3、使用Java程序调用redis服务

3.1 修改配置文件

启动之后的redis只能在服务器内部使用,如果需要外部使用,比如使用Java程序调用,需要
需要修改配置文件。
默认情况下,redis的配置文件在/etc/redis/redis.conf,打开这个文件,注释掉下面的内容。

bind 127.0.0.1 -::1

<a class=redis.conf" />

3.2 创建Java程序

创建maven程序
创建maven程序
添加jedis依赖

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.1</version>
</dependency>

我使用的是阿里云服务器,在运行代码的时候提示:报错信息
在网上搜索了很多解决方案如下:需要修改redis.conf文件中的一些配置:
如下图:
需要修改的配置
但是修改完配置之后还是报错,思考ing,研究了大半天,后来发现因为我用的是阿里云服务器,所以需要在服务器配置里面开通端口
开放端口
然后就可以正常访问了。正常访问

redis_72">4、redis基本操作

redis_73">redis的通用命令

	1、切换数据库select 12、查看当前数据库的key的数量DBSIZE3、设置一个key为name,值为tutu的数据set name tutu4、获取值为name的数据get name5、获取所有的keykeys *6、清楚当前的数据库flushdb7、清楚所有的数据库flushall8、模糊查询,查询以user开头的keykeys user:*9、模糊查询,key中有user的数据keys *user*

redis_96">redis基本命令

	查询key为name是否存在exists name指定key为name的数据移动到1号数据库move name 1指定key为name的数据10s之后过期expire name 10查看key为name的数据还有多就过期ttl name查看key为name的数据是什么类型type name

5、五种数据类型

String(字符串)

		设置key为name的值为tutuset name tutu获取key为name的值get name拼接key为name的值:isAManappend name isAMan重新获取name的值:tutuisAMan获取key为name的长度strlen name如果key为数字,设置key为name的值加1incr name 1如果key为数字,设置key为name的值减1decr name 1设置key为name的值+10incrby name 10设置key为name的值-10decrby name 10截取下标为0-3之间的字符串setrange name 0 3从下标为1对字符串进行替换,abcdefg替换之后为a000fgsetrange name 1 000设置name的之为hello,10s后过期setex name 10 hello如果不存在key为title的数据,则将值设置为redis,如果存在,则set操作失败setnx title redis一次性设置多个值mset k1 v1 k2 v2 k3 v3如果k1已经存在,则k1 k4全部设置失败msetnx k1 v1 k4 v4如果不存在key为name的值,则返回null ,然后set进去,如果存在值,则获取原来的值并设置新的值getset name tutu

List集合

		将一个值或多个值插入到list的头部lpush list 1将一个或多个值插入到list的尾部rpush list 4通过区间获取到具体的值lrange list 0 3移除list的第一个元素lpop list移除list的最后一个元素rpop list根据下标获取list中的某一个值lindex list 0获取list的长度llen list移除list集合指定个数的value ,移除一个值为2的数据lrem list 1 2截取list集合中下标为12的元素集合,并覆盖原来的listltrim list 1 2更新list集合中下标为0的数据的值为bbb,如果下标0的值不存在,则报错lset list 0 bbb将一个具体的值插入到某一个居提的元素的前面或者后面linsert list before kkk aaalinsert list after kkk aaa

Set集合

set中添加一个元素sadd set hello查看set集合中的所有元素smembers set查看set集合中是否存在该元素sismember set world随机取出一个元素srandmember set随机取出两个元素srandmember set 2随机删除set集合中的某个元素spop set移动set集合中的world元素到set2集合中smove set set2 worldset2减去set集合的差集sdiff set2 setset和set2的交集sinter set set2set和set2取并集并去重sunion set set2

Hash集合

hash集合中存放键值对hset hash user tutu从hash集合中获取数据hget hash name往hash集合中添加多个值hmset hash name jsck age 2同时获取多个值hmget hash name age获取hash集合中的所有键值对hgetall hash删除hash集合中指定的key字段hdel hash name获取hash集合的长度hlen hash判断hash集合中指定字段是否存在hexista hash name获取hash集合中的所有keyhkeys hash获取hash集合中的所有keyhvals hash指定hash集合中指定增量hincrby hash age 1如果不存在直接设置值,存在则设置失败hsetns hash password 123456

Zset有序集合

 		添加一个值zadd zset 1 first添加多个值zadd zset second 2 third 4 four获取zset集合中的所有元素zrange zset 0 -1zset集合从小到大排序,-inf负无穷,+inf正无穷zrangebyscore zset -inf +inf从小到大排序并输出键值zrangebyscore zset -inf +inf withscores指定负无穷到1的范围zrangebyscore zset -inf 1 withscores移除zset集合中指定的元素zrem zset four查看zset集合中的元素的个数zcard zset反转指定范围zrevrange zset 1 2

http://www.ppmy.cn/news/1565242.html

相关文章

自动驾驶---方案从有图迈进无图

1 背景 近两年&#xff0c;自动驾驶量产领域&#xff0c;有一句话出现的频率很高&#xff1a;“无图也能开”&#xff0c;到底什么是有图&#xff0c;什么是无图呢&#xff1f;简单来说就是有高精地图&#xff08;High Definition Map&#xff09;和没有高精地图&#xff08;但…

使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。

1、关于clip-vit-large-patch14模型 关于openapi开源的clip-vit-large-patch14模型的特征提取&#xff0c;可以参考之前的文章&#xff1a;Elasticsearch向量检索需要的数据集以及768维向量生成这篇文章详细介绍了模型的下载地址、使用方式、测试脚本&#xff0c;可以让你一步…

小白爬虫——selenium入门超详细教程

目录 一、selenium简介 二、环境安装 2.1、安装Selenium 2.2、浏览器驱动安装 三、基本操作 3.1、对页面进行操作 3.1.1、初始化webdriver 3.1.2、打开网页 3.1.3、页面操作 3.1.4、页面数据提取 3.1.5、关闭页面 ?3.1.6、综合小案例 3.2、对页面元素进行操作 3…

【深度学习】Huber Loss详解

文章目录 1. Huber Loss 原理详解2. Pytorch 代码详解3.与 MSELoss、MAELoss 区别及各自优缺点3.1 MSELoss 均方误差损失3.2 MAELoss 平均绝对误差损失3.3 Huber Loss 4. 总结4.1 优化平滑4.2 梯度较好4.3 为什么说 MSE 是平滑的 1. Huber Loss 原理详解 Huber Loss 是一种结合…

开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)

一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理&#xff0c;使应用程序能够处理各种不同的请求场景&#xff0c;提高应用程序的灵活性和可扩展性。 在数据验证和转换方面&#xff0c;高级用法提供了更精细和准确的控制&…

【PHP】部署和发布PHP网站到IIS服务器

欢迎来到《小5讲堂》 这是《PHP》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言安装PHP 稳定版本线程安全版解压使用 PHP配置 配置文件扩展文件…

傅里叶变换在语音识别中的关键作用

在语音识别中&#xff0c;傅里叶变换起着至关重要的作用&#xff0c;主要体现在以下几个方面&#xff1a; 一、时域到频域的转换 语音信号的特点 语音信号是一种时域信号&#xff0c;它随时间变化。例如&#xff0c;当我们说话时&#xff0c;声带的振动产生声波&#xff0c;这…

Selenium配合Cookies实现网页免登录

文章目录 前言1 方案一&#xff1a;使用Chrome用户数据目录2 方案二&#xff1a;手动获取并保存Cookies&#xff0c;后续使用保存的Cookies3 注意事项 前言 在进行使用Selenium进行爬虫、网页自动化操作时&#xff0c;登录往往是一个必须解决的问题&#xff0c;但是Selenium每次…