随笔 - 92  文章 - 1  评论 - 3  阅读 - 26318

Redis学习笔记NO .1

1、redis简介

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的[键值对存储数据库]

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

2、linux安装

1、下载

  • 在线下载

     $ wget http://download.redis.io/releases/redis-5.0.7.tar.gz
     $ tar xzf redis-5.0.7.tar.gz -C /root/tool //解压到指定目录
     $ cd redis-5.0.7.tar.gz
     $ make
  • 利用ftp等软件上传至Linux桌面

     $ tar xzf redis-5.0.7.tar.gz
     $ cd redis-5.0.7.tar.gz
     $ make

    注:我们需要将源码编译后再安装,因此需要安装 c 语言的编译环境!不能直接 make

     yum install gcc-c++ -y

    make时遇到的错误:

     In file included from adlist.c:34:0:
     zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
      #include <jemalloc/jemalloc.h>
                                    ^
     compilation terminated.

    解决办法:make MALLOC=libc

2、安装

 make PREFIX=/usr/local/redis instal

安装到指定目录,若没有,则创建该目录;PREFIX必须大写

3、启动服务端跟客户端

 ./redis-server
 ./redis-cli

Redis服务器默认会使用6379端口1) , 通过--port参数可以自定义端口号:

 redis-server --port 6380

4、关闭

 shutdown

5、docker安装redis

 docker search redis        //命令来查看可用版本
     
 docker pull redis:latest   //拉取官方的最新版本的镜像
     
 docker images              //查看镜像
  
 docker run -d --name redis-test -p 6379:6379 redis --requirepass "100104"//创建并运行容器
   //  --requirepass 密码 -d: 后台运行容器,并返回容器ID;
 docker exec -it redis redis-cli -a 100104            //运行客户端 --it 交互
  
 /*docker常用命令
 1、docker ps 查看进程
 2、docker container rm 删除容器
 https://www.runoob.com/docker/docker-command-manual.html
 */

3、redis配置

1、redis.conf

2、内存维护策略(缓存清理策略)

  1. 属性含义备注
    bind限定访问的主机地如果没有bind,就是任意ip 地址都可以访问。生产环境下,需要写自己应用服务器的ip 地址。
    protected-mode安全防护模式如果没有指定bind 指令,也没有配置密码,那么保护模式就开启,只允许本机访问。
    port端口号默认是6379
    timeout超时时间默认永不超时
    daemonize是否为守护进程模式运行守护进程模式可以在后台运行,默认是no
    pidfile进程id 文件保存的路径配置PID 文件路径,当redis 作为守护进程运行的时候,它会把pid默认写到/var/redis/run/redis_6379.pid 文件里面
    logfile日志文件的位置当指定为空字符串时,为标准输出,如果redis 以守护进程模式运行,那么日志将会输出到/dev/null
    databases设置数据库数量默认是0
    requirepass设置密码默认没有,但远程连接可能会连接不上
    maxclients最大连接数 
    maxmemory最大占用多少内存一旦占用内存超限,就开始根据缓存清理策略移除数据如果Redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么Redis 则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH 等。
    maxmemory-policy noeviction缓存清理策略(1)volatile-lru:使用LRU 算法移除key,只对设置了过期时间的键 (2)allkeys-lru:使用LRU 算法移除key (3)volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键 (4)allkeys-random:移除随机的key (5)volatile-ttl:移除那些TTL 值最小的key,即那些最近要过期的key (6)noeviction:不进行移除。针对写操作,只是返回错误信息
posted on   小熊学Java  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示