前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识Redis

初识Redis

作者头像
程序员波特
发布2024-01-19 09:59:01
950
发布2024-01-19 09:59:01
举报
文章被收录于专栏:魔法书
安装Redis

  1. 下载:官网:https://redis.io /download/,选择稳定版下载。
  2. 上传至linux
  1. 解压Redis:tar -zxvf redis-6.2.7.tar.gz,得到:
  1. 安装gcc编译环境,如果已经安装过了,则跳过:yum install gcc-c++
  2. 进入到redis-6.2.7目录,进行安装:make && make install,执行完毕后安装成功
  3. .配置redis,在utils下,拷贝 redis_init_script/etc/init.d 目录,目的要把redis作为开机自启动
  1. 创建 /usr/local/redis,用于存放配置文件
  1. 拷贝redis配置文件,拷贝到/usr/local/redis
  1. 修改redis.conf这个核心配置文件
    • 修改 daemonize no->daemonize yes,目的是为了让redis启动在linux后台运行
    • 修改redis的工作目录,建议修改为/usr/local/redis/working,名称随意
    • 修改如下内容,绑定IP改为0.0.0.0,代表可以让远程连接,不受ip限制
    • 最关键的是密码,默认是没有的,一定要设置
  2. 修改 redis_init_script 文件中的redis核心配置文件为如下∶并修改redis的核心配置文件名称为:6379.conf
  1. 为redis启动脚本添加执行权限,随后运行启动redis;
  1. 检查redis进程,至此redis安装并且启动成功
  1. 设置redis开机自启动,修改 redis_init_script,添加如下内容
代码语言:javascript
复制
#chkconfig:22345 10 90
#description: Start and Stop redis

随后执行:chkconfig redis_init_script on 重启服务器(虚拟机)后,再看进程。

SpringBoot整合Redis
  1. 引入Redis依赖
代码语言:javascript
复制
<!--引入 redis 依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. 配置redis
代码语言:javascript
复制
spring:
  redis:
    database: 1 
    host: 192.168.32.10 
    port: 6379 
    password: reminis
  1. controller测试
代码语言:javascript
复制
@Autowired
private RedisTemplate redisTemplate;

@GetMapping("/test")
public vid testRedis(String key, String value) {
    redisTemplate.opsForValue().set(key, value);
    (String)redisTemplate.opsForValue().get(key);
    redisTemplate.delete(key);
}

Redis的命令客户端

  • redis-cli -a password shutdown:关闭redis
  • ./redis_init_script stop:关闭reids
  • redis-cli:进入redis客户端
  • auth password:输入密码
  • set key value:设置缓存
  • get key:获得缓存
  • del key:删除缓存
  • redis-cli -a password ping:查看是否存活

Redis得数据类型

string字符串

  string:最简单的字符串类型键值对缓存,也是最基本的

  1. key相关
    • keys*:查看所有的key(不建议在生产环境中使用,有性能影响)
    • type key:查看key的类型
  2. string类型
    • get/set/del:查询/设置/删除
    • set key vaue:设置已存在key,会覆盖
    • setnx key value:设置已存在的key,不会覆盖
    • set key value ex time:设置带过期时间的数据
    • expire key:设置过期时间
    • ttl:查看过期时间,-1永不过期,-2已过期
    • append key:合并字符串长度
    • strlen key:字符串长度
    • incr key:累加1
    • decr key:累减1
    • incrby key num:累加给定数值
    • decrby key num:累减给定数值
    • getrange key start end:截取数据,end=-1代表到最后
    • setrange key start newdata:从start位置开始替换数据
    • mset:批量设值
    • mget: 批量取值
    • msetnx:批量设值,如果存在则不设值
  3. 其它
    • select index:切换数据库,总共默认16个
    • flushdb:删除当前db下边的所有数据
    • flushall:删除所有db中的数据
hash

  hash:类似map,存储结构化数据,比如存储一个对象(不能嵌套对象) 使用

  • hset key property value。如 hset user name reminis(创建一个user对象,这个对象中包含user属性,name的值为reminis),hget user name:获得用户对象中name的值
  • hmset:设置对象中的多个键值对。如 hmset user age 18 gender man phone 19209807669,hmsetnx:设置对象中的多个键值对,存在则不添加
  • hmget:获得对象中的多个属性。如 hmget user age gender phone
  • hgetall user:获得整个对象的内容
  • hincrby user age 2:累加属性
  • hincrbyfloat user age 2.2: 累加属性
  • hlen user:查看user对象有多少个属性
  • hexists user age:判断属性是否存在
  • hkeys user:获得对象的所有属性
  • hvals user:获得所有值
  • hdel user name:删除对象的某个属性
list

list:列表,[a,b,c,d,e,…] 使用

  • lpush userList 1 2 3 4 5:构建一个list,从左边开始存入数据
  • rpush userList 1 2 3 4 5:构建一个List,从右边开始存入数据
  • lrange userList start end:获得数据
  • lpop userList:从左侧开始拿出一个数据
  • rpop userList:从右侧开始拿出一个数据
  • llen userList:list的长度
  • lindex userList index:获取list下标的值
  • lset userList index value:把list的某个下标的值替换
  • linsert userList before/after value:插入一个新的值
  • lrem userList num value:删除几个相同的数据
  • ltrim userList start end:截取值,替换原来的list
set

set:相当于去重的list

zset

sorted set:排序的set,可以去重可以排序,比如可以根据用户积分做排名,积分作为set的一个数值,根据数值可以做排序。zset中的每一个member都带有一个分数 使用

  • zadd zset 10 value1 20 value2 30 value3:设置member和对应的分数
  • zrange zset 0 -1:查看所有zset中的内容
  • zrange zset 0 -1 withscores:带有分数
  • zrank zset value:获得对应的下标
  • zscore zset value:获得对应的分数
  • zcard zset:统计个数
  • zcount zset 分数1 分数2:统计个数
  • zrangebyscore zset 分数1 分数2:查询分数之间的member(包含分数1和分数2)
  • zrangebyscore zset (分数1 (分数2:查询分数之间的member(不包含分数1和分数2)
  • zrangebyscore zset 分数1 分数2 limit start end:查询分数之间的member(包含分数1和分数2),获得的结果集再次根据下标区间做查询
  • zrem zset value:删除member
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Redis
  • SpringBoot整合Redis
  • Redis的命令客户端
  • Redis得数据类型
    • string字符串
      • hash
        • list
          • set
            • zset
            相关产品与服务
            云数据库 Redis®
            腾讯云数据库 Redis®(TencentDB for Redis®)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档