李优秀 发表于 2025-1-23 01:59:16

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

1、redis安装

sudo apt install lsb-release curl gpg

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update

sudo apt-get install redis
如果你利用了包管理器来安装Redis,通常它会被安装到系统的默认位置。可以通过which命令查看redis的安装位置
which redis-server
https://i-blog.csdnimg.cn/direct/c93efecaa1914e0081d18314477eb21a.png
2、启动redis的三种方式

方式一

/etc/init.d/redis-server start
方式二

systemctl start redis-server
方式三

service redis-server start
https://i-blog.csdnimg.cn/direct/b69bd7d83e6f4af9b645a956f16524c6.png
重启redis

service redis-server restart
3、利用Java步伐调用redis服务

3.1 修改配置文件

启动之后的redis只能在服务器内部利用,如果必要外部利用,比如利用Java步伐调用,必要
必要修改配置文件。
默认情况下,redis的配置文件在/etc/redis/redis.conf,打开这个文件,注释掉下面的内容。
bind 127.0.0.1 -::1
https://i-blog.csdnimg.cn/direct/48fc385638764157bbb1bca0989e9e9a.png
3.2 创建Java步伐

创建maven步伐
https://i-blog.csdnimg.cn/direct/d96f83baaca74997aa2da6e1b532c476.png
添加jedis依靠
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>4.3.1</version>
</dependency>
我利用的是阿里云服务器,在运行代码的时候提示:https://i-blog.csdnimg.cn/direct/1b95ee6572304d6483f877f309a12ce4.png
在网上搜索了很多解决方案如下:必要修改redis.conf文件中的一些配置:
如下图:
https://i-blog.csdnimg.cn/direct/927b99cf208141c1bbc4b12d69ec02bc.png
但是修改完配置之后照旧报错,思索ing,研究了泰半天,后来发现因为我用的是阿里云服务器,以是必要在服务器配置内里开通端口。
https://i-blog.csdnimg.cn/direct/f4c0d245903840bea7fbce97510852ba.png
然后就可以正常访问了。https://i-blog.csdnimg.cn/direct/09e8213b18574bf78a5dee371f9b8008.png
4、redis根本操作

redis的通用命令

        1、切换数据库
      select 1
    2、查看当前数据库的key的数量
      DBSIZE
    3、设置一个key为name,值为tutu的数据
      set name tutu
    4、获取值为name的数据
      get name
    5、获取所有的key
      keys *
    6、清楚当前的数据库
      flushdb
    7、清楚所有的数据库
      flushall
    8、模糊查询,查询以user开头的key
      keys user:*
    9、模糊查询,key中有user的数据
      keys *user*
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的值为tutu
            set name tutu
      获取key为name的值
            get name
      拼接key为name的值:isAMan
            append name isAMan
            重新获取name的值:tutuisAMan
      获取key为name的长度
            strlen name
      如果key为数字,设置key为name的值加1
            incr name 1
      如果key为数字,设置key为name的值减1
            decr name 1
      设置key为name的值+10
            incrby name 10
      设置key为name的值-10
            decrby name 10
      截取下标为0-3之间的字符串
            setrange name 0 3
      从下标为1对字符串进行替换,abcdefg替换之后为a000fg
            setrange 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集合中下标为1到2的元素集合,并覆盖原来的list
                  ltrim list 1 2
                更新list集合中下标为0的数据的值为bbb,如果下标0的值不存在,则报错
                  lset list 0 bbb
                将一个具体的值插入到某一个居提的元素的前面或者后面
                  linsert list before kkk aaa
                  linsert 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 world
      set2减去set集合的差集
            sdiff set2 set
      set和set2的交集
            sinter set set2
      set和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集合中的所有key
            hkeys hash
      获取hash集合中的所有key
            hvals 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 -1
      zset集合从小到大排序,-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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 阿里云服务器在Ubuntu上安装redis并利用