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、内存维护策略(缓存清理策略)
-
属性 含义 备注 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:不进行移除。针对写操作,只是返回错误信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律