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

Redis

作者头像
六个周
发布2022-10-28 11:51:08
1810
发布2022-10-28 11:51:08
举报
文章被收录于专栏:六个周
  1. NoSql = Not Only SQL
  2. Key - Value 存储:字符串 String|字符串列表 list|有序集合 sorted set|hash|字符串集合set
  3. 09年开发完成
  4. C语言开发
  5. 每秒能写8.1万次,能读11万次
  6. 应用场景:缓存、任务队列、网站访问统计、应用排行榜、数据过期处理,分布式集群里的session处理
  7. CentOs-6.5 安装:
    • 下载源码后,对源码进行编译,编译需要一个gcc环境。yum install gcc-c++
    • 将下载好的源码上传至服务器 /root下
    • tar -zxvf redis-x.x.x.tar.gz
    • cd redis-x.x.x
    • make
    • make PREFIX=/usr/local/redis install
    • cd /usr/local/redis/bin --存在一些可执行文件
    • cd ~/redis.x.x.x
    • cp redis.conf /usr/local/redis
    • cd /usr/local/redis/bin
    • 前端启动:redis-server(窗口不能关闭)
    • 后端启动:修改配置文件
    • vim redis.conf
    • 修改 daemonize yes
    • redis-server redis.conf
    • 验证启动:ps -ef | grep redis
    • 停止启动:kill -9 PID || redis-cli shutdown
    • 进入命令行交互:_redis-cli _
  8. Jedis:Jedis是Redis官方首先的Java客户端开发包
  9. Key不要过长–不建议超过1024
  10. 存储String:
    • 以二进制方式操作
    • 其value数据长度最多不超过512M
    • 赋值**_ set_、取值_ get_、删值 delincr num、incrby** num 5、append num 5
  11. 存储Hash:
  • String Key和String Value的map容器
  • 每一个Hash可以存储4294967268个键值对
  • 赋值**:hset** myhash username jack
  • 赋值:hset myhash age 18
  • _ hmset_ myhsh username roose age 21
  • 取值:hget myhash username ==> jack
  • _ hmget_ myhash username age
  • hgetall myhash
  • 删除一个:hdel myhash username
  • 删除全部:del myhash
  • 增加数字: hincrby myhash age 5
  • 判断属性中的某个值是否存在:hexists myhash username
  • 获取属性数量 : hlen myhash == 2
  • 获取所有属性名称:hkeys myhash
  • 获取所有值: hvals myhash
  1. 存储list:
  • ArrayList使用数组方式:
  • LinkedList使用双向链接方式:
  • 双向链表中增加数据
  • 双向链表中删除数据
  • 两端添加:
    • lpush mylist a b c --> c,b,a
    • lpush mylist 1 2 3 --> 3 2 1 c b a
    • rpush mylist2 a b c
    • rpush mylist2 1 2 3

  • 查看列表:
    • lrange mylist (start,end)
    • lrange mylist 0 5 --> 3 2 1 c b a
    • lrange mylist2 0 -2 a b c 1 2
  • 两端弹出:
    • lpop mylist2 --> 3
    • lrange mylish -->2 1 c b a
    • rpop mylist2 --> 3
    • lrange mylist2 --> a b c 1 2
  • 获取列表元素个数:
    • llen mylish -->返回元素个数
  • 扩展命令
    • lpushx mylist2 (mylist2这个值存在才会在头部插入)
    • lrem mylist2 2 3(从头开始删除2个3)
  1. 存储Set:不允许出现重复的元素
  • 添加元素
    • sadd myset a b c
    • sadd myset 1 2 3
  • 删除元素
    • srem myset 1 2
  • 获得集合中的元素
    • smembers myset --> c b a 3
  • 判断元素是否存在
    • sismember myset 3
  1. keys通用操作
  • **keys ***
  • keys my? :查看以my开头的key
  • del my1 my2 my3 :删除这些key
  • exists my1 :查看my1是否存在
  • rename old new :重命名
  • expire newkey 1000 :过期时间
  • type key:查看某个key的类型
  1. redis特性
  • 多数据库
    • 16个数据库 0-15 (客户端默认0)
    • select 1 — 选择1号数据库
    • move key 2 ---- 将1中的key移动到2
  • Redis事务
    • multi :开启事务
    • exec :提交事务
    • discard:回滚操作
  1. redis的持久化概述
  • RDB持久化:默认支持不需要配置:在指定时间间隔内,将数据写入到磁盘
    • redis.conf: save 900 /save 300 10 /save 60 10000 (默认支持)–可以查看保存的路径在 dump.rdb
  • AOF持久化
    • 优势:更高的数据安全–每一次变动都会记录到磁盘中。
    • 劣势:内容文件大、效率低
    • 需要进行相应配置–redi.conf ==>appendonly yes -->写入到appendonly.aof
  • 无持久化
  • 同时使用RDB和AOF
  1. 服务器查看redis路径
  • ps -ef | grep redis
  • whereis redis
  1. 查看本地是否安装redis:brew info redis
  2. 批量删除某个规则的 redisKey:
  3. [root@node1 src]# ./redis-cli -h 127.0.0.1 -p 6379 keys “java_suisui*” | xargs ./redis-cli -h 127.0.0.1 -p 6379 del
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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