当前位置: 首页 > news >正文

Redis的基础篇

Redis的基础篇

1.在CentOs7上安装Redis(最好不要在windows上装,版本少)

1.安装gcc --> `yum install gcc tcl`(可能会报错,重新安装yum就行了)
2.下载redis --> 最好是6.2上的版本
3.解压redis --> `tar -zxvf redis-6.2.x.tar.gz`(放在/usr/local/src下)
4.cd redis6.2.x , make && make install

一些常见的命令

 - redis-cli:是redis提供的命令行客户端- redis-server:是redis的服务端启动脚本- redis-sentinel:是redis的哨兵启动脚本

2. 启动redis

我们这里选择开机自启

1.在redis6.2.x的目录下,配置redis.conf

2.# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。 修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0 bind 0.0.0.0

# 守护进程,修改为yes后即可后台运行  daemonize yes
# 密码,设置后访问Redis必须输入密码 requirepass 123456

3.启动redis , redis-server redis.conf

4.停止服务:redis-cli -u 123456 shutdown

`5.开机自启: vi /etc/systemd/system/redis.service `内容是[Unit]Description=redis-serverAfter=network.target[Service]Type=forkingExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.confPrivateTmp=true[Install]WantedBy=multi-user.target

6.# 启动 systemctl start redis
使用systemctl status redis 如果是active就是成功了

3. 一些错误

    1. 开放防火墙6379的端口,不然会连不上
    1. VM的CentOs7 的IP 会变,所以要设置为静态IP
    1. 如果是阿里云的服务器,要在安全组里面开放6379端口
    1. 端口可能被占用,可以用netstat -tunlp | grep 6379查看,使用kill -9 pid解决

4.使用redis(String , Hash , List , Set , ZSet , GEO , BitMap )

1.redis 的命令
  keys *  查看所有的keyDEL key  删除keyEXISTS key  判断key是否存在EXPIRE key seconds  设置key的过期时间TTL key 查看key的剩余时间
2.String 类型的 (一般是用来简单的类型,如全局的生成唯一Id,或者对象转成Json)
 set get mset mget incr 是自增1incrby number 是自增number(可以是负数)SETNX key value  如果key不存在则设置key的值为valueSETEX key seconds value  设置key的值为value,并设置过期时间
  • 使用Redis的层级结构来去存储数据,可以使用:来分割,如user:1:info
  • 注意使用String 来存储对象,要使用Json来转换,使用JSONUtil.toJsonStr来转换
3.Hash 类型的 (一般是用来去存储对象,要去修改的数据或者要取出来的数据)
  • 需要注意的是,使用hutool的BeanUtil.toBean方法,可以将hash转成对象,BeanUtil的beanToMap方法可以将对象转成hash
  • Hset Hget Hmset Hmget Hgetall Hkeys Hvals Hsetnx
4.List 类型的 (一般是用来去存储队列,如消息队列(后面会有讨论),栈,同种类型的参数,如店铺的分类类型)
  • lpush rpush lpop rpop lrange(-1,0)
  • 注意Blpop Blpush 是阻塞的,可以设置超时时间,可以用来模拟消息队列
5.SET 类型的 (一般是用来去存储不重复的数据,如用户的喜欢的商品,用户的标签,用户的粉丝)
  • sadd smembers srem smembers
  • 用户的交集,差集,并集—>sinter sidff sunion
6.ZSet 类型的 (一般是用来去存储有序的数据,如排行榜,用户的积分,点赞,使用Feed流时)
  • zadd zrange zrangebyscore zrem zcard zscore用户的交集,差集,并集 与Set类似

5.在java(idea,springboot)使用redis

5.1 类别:jedis ,lettuce,Redission(用于分布式锁)

5.2 jedis (使用较少)

-   <groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version>
-  这里创建就不说了,可以Al生成

5.3 使用StringDataRedis

引入的依赖:spring-boot-starter-data-redis 与 commoms-pool2
配置的文件 : host ,port ,password

就可以使用@Autowire注入StringDataRedis来使用了

但是需要注意的是写入前会把Object序列化为字节形式,我们可以自定义RedisTemplate的序列化方式

用StringRedisTemplate就是String序列化器

http://www.lryc.cn/news/458027.html

相关文章:

  • java和python哪个好
  • Electron + ts + vue3 + vite
  • 《大规模语言模型从理论到实践》第一轮学习--分布式训练
  • 多模态智能
  • 【机器学习(十三)】机器学习回归案例之股票价格预测分析—Sentosa_DSML社区版
  • 大模型微调
  • 240607 继承
  • 轻松应对意外丢失:高效电脑数据恢复指南!
  • vue项目中播放rtsp视频流
  • tomcat部署web配置环境变量
  • 数据仓库技术及应用(练习1)
  • 老板的“神助攻”:公司电脑监控软件
  • 前端vue部署网站
  • Unity3D 动画回调函数详解
  • el-table表格表尾合计行,指定合计某几列,自定义合计方法
  • 一款工具替你解决Mac电脑菜单栏图标杂乱问题
  • MySQL 基础入门教程
  • 俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩
  • 腾讯云推流播放相关
  • UE5运行时动态加载场景角色动画任意搭配-相机及运镜(二)
  • @JsonAlias和@JSONField序列化和反序列化
  • k8s1.27部署ingress 1.11.2
  • 【运维】自动化运维详解
  • 线控底盘技术介绍
  • DOM对象
  • [SQL] 数据库图形化安装和使用
  • springboot 前后端处理日志
  • C++11 简单手撕多线程编程
  • 刷c语言练习题7(牛客网)
  • Web Worker和WebSocket