当前位置: 首页 > 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.mrgr.cn/news/48107.html

相关文章:

  • 打造高效的 LaTeX 公式编辑器
  • 图的最短路径(C++实现图【4】)
  • 计算机网络(第8版)第四章 网络层(4.7.1~4.7.3)
  • 计算机网络B重修班-期末复习
  • Vue+element 回车查询页面刷新
  • 重温设计模式--适配器模式
  • makefile与gdb的使用
  • 如何挑选Axure元件库? Axure原型赏析
  • 【Java】类型转换与类型提升
  • Spring Boot 中 Bean 的机制详解
  • QInputDialog Class
  • 364_C++_通过类型定义、数组、指针、std::vector和内存复制来管理多个通道的记录数据
  • 养宠人崩溃的季节又到了,有什么吸浮毛宠物空气净化器推荐?
  • 多个pdf怎么合并成一个pdf?几个方法教你快速进行pdf合并不求人
  • V神应被提名诺贝尔经济学奖?以太坊对货币经济学的贡献无可取代?
  • Linux云计算 |【第四阶段】RDBMS2-DAY5
  • redis概述
  • MIDIPLUS 50周年丨中国国际乐器展览会首日盛况
  • 【笔记】Day1.1.24代码debug测试
  • 高可用之限流-04-fixed window 固定窗口
  • MES系统中人机接口设计和开发研究
  • Pyke学习系列(pyke基础执行)(一)
  • Spring Boot 日志打印配置详解
  • 【C语言】自定义类型:联合体和枚举
  • C++编程:利用ARM硬件加速CRC32计算
  • vue基础语法的用法(API组合式风格)