阿里云服务器配置redis5

环境为Ubuntu18.04.

1、安装redis

1.1 linux安装redis

使用 apt 从官方 Ubuntu 存储库来安装 Redis

# 可以使用 apt list | grep redis-server查看下redis的版本,若不是最新版可以用apt update 更新
$ sudo apt install redis-server

1.2 基于docker安装redis

1.2.1基于centos通过docker安装redis

# 安装redis 此方法默认安装最新版本
docker pull redis
# 通过后台运行redis
docker run -d -p 6379:6379 --name redis redis:latest

# 挂载的方式启动redis
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123456


# 验证 通过命令进入容器并通过客户端测试
docker exec -it <容器名> /bin/bash
redis-cli

# 停止redis
docker stop redis
# 重启redis
docker restart redis

2、配置redis

配置远程连接,需要在阿里云控制台配置端口

$ sudo vi /etc/redis/redis.conf
# 在文件中,找到supervised指令。 该指令允许您声明一个init系统来管理Redis作为服务,从而为您提供对其操作的更多控制。 受supervised指令默认设置为no 。 由于您正在运行使用systemd init系统的Ubuntu,请将其更改为systemd 

supervised systemd

#配置远程连接
将 bind 127.0.0.1 ::1 改为 bind 0.0.0.0

#设置密码(对于自己本地使用,无需设置,服务器上还是设置比较好)
requirepass 123456

配置后,需要重启服务 

service redis restart

主要参考:ubuntu 18.04 安装 Redis · 王鑫的个人博客 (wangxin1248.github.io)

3、redis常用命令

#登录客户端
$ redis-cli -h host -p port -a password

# 启动redis
$ sudo service redis start
# 停用redis
$ sudo service redis stop
# 重启redis
$ sudo service redis restart
# 选择数据库
select 0
# 清空当前数据库
flushdb
# 清空全部数据库
flushall

# 设置键
set a hello
# 获取键
get a
# 获取全部的键
keys *
# 获取键的总数
dbsize
# 查看键是否存在
exists key
# 删除键(可写多个key)
del key 
# 重命名键
rename key1 key2

3.1 基本数据类型

String、Hash、Set、List、zset、geo、Hyperloglog、streams

3.1.1 String

可用于存储 字符串、int、float 类型

# 获取key中指定范围的数据
getrange key 0 1
# 获取值的长度
strlen key
#在值后面追加内容
append key value
#设置多个值 (批量操作)
mset key1 value1 key2 value2
#获取多个值
mget key1 key2
#设置值,如果存在则失败,否则成功(基于此可以实现分布式锁,del key 来释放锁)
setnx key value
#或 通过参数设置,增加有效时间 EX秒 PX 毫秒
set key value PX 10 NX

#整数值递增 默认自增一 
incr key
incrby key 10
# 自减
decr key
decrby key 10

#浮点数增加
INCRBYFLOAT key 10.2

3.1.2 HASH

        HASH的value只能是字符串

        应用:购物车 key存储用户id field 存储商品 value 存储 商品数量

# HASH设置值
hset key field value
hmset key field1 value1 field2 value2
# HASH 获取值
hget key field
hmget key filed1 field2

# 获取全部的field
hkeys key
# 获取key中的所有值
hvals hash
#获取全部的field和value
hgetall key
#删除一个field
hdel key field 
# 获取field 的数量
hlen key

3.1.3 List 

存储有序的字符串,元素可以重复 ,是一个双向链表,可以从左(left)或者右(right)操作

应用:用户消息队列、网站的公告列表、活动列表

#添加元素
lpush queue a
lpush queue a b
rpush queue d
# 获取元素并从列表中删除
lpop queue
rpop queue
# 获取元素
lindex 0
lrange 0 -1 (获取全部)

3.1.4 Set

存储string的无序集合

应用:抽奖、点赞、打卡、商品标签及筛选

# 添加一个或多个元素
sadd key a b c
# 获取全部元素
smember key
# 获取元素个数
scard key
# 随机获取一个元素 或多个 count
srandmember key  count
# 随机弹出一个元素
spop key
# 删除一个或多个元素
srem key a
# 查看元素是否存在
sismember key a

# 获取集合差集(会受到集合的先后顺序影响)
sdiff set1 set2
# 获取集合并集
sunion set1 set2
# 获取集合交集
sinter set1 set2

3.1.5 Zset

有序集合,每个元素有个score,根据score从小到大排序

应用:顺序会动态变化的队列,如排行榜、热搜

# 添加元素
zadd zset 10 a 20 b 30 c
# 获取全部元素
zrange zset 0 -1 withscores
zrevrange zset 0 -1 withscores
zscore zset a
zrank zset a
# 获取分数区间内的元素 []
zrangebyscore zset 20 30
# 移除元素 可以根据key score rank 进行移除
zrem zset a
#统计元素个数
zcard zset
#分值递增
zincrby zset 5 a
# 根据分值统计个数
zcount zset 20 30

3.1.6 其他数据结构介绍

bitmaps:是在字符串类型上定义的位操作,可以进行按位与、或、非等操作,也可以单独操作一位。 

应用:可以用来做大数据量的统计,如在线用户统计,留存用户统计

Hyperloglogs: 提供了一种不太精确地基于基数的统计方法,用来统计一个集合中不重复数据的个数。如统计网站的uv、日活、月活等

geo:用来储存经纬度信息,可以计算距离

更多命令请查看官网

Command reference – Redis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值