自学内容网 自学内容网

阿里云服务器在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 [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.list

sudo apt-get update

sudo apt-get install redis

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

which redis-server

which命令

2、启动redis的三种方式

方式一

/etc/init.d/redis-server start

方式二

systemctl start redis-server

方式三

service redis-server start

service redis-server start

重启redis

service redis-server restart

3、使用Java程序调用redis服务

3.1 修改配置文件

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

bind 127.0.0.1 -::1

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,研究了大半天,后来发现因为我用的是阿里云服务器,所以需要在服务器配置里面开通端口
开放端口
然后就可以正常访问了。正常访问

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集合中下标为12的元素集合,并覆盖原来的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

原文地址:https://blog.csdn.net/TWJ88936543/article/details/145210889

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!