阿里云服务器在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
2、启动redis的三种方式
方式一
/etc/init.d/redis-server start
方式二
systemctl start redis-server
方式三
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
3.2 创建Java程序
创建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集合中下标为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
原文地址:https://blog.csdn.net/TWJ88936543/article/details/145210889
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!