时间:2020-03-05来源:电脑系统城作者:电脑系统城
redis支持的数据类型:
- 字符串(string)。
- 哈希表(hash)。
- 列表(list)。
- 集合(set)。
- 有序集合(zset)。
- 位图(bitmaps)。
- HyperLoglogs、GEO等。
redis特性如下:
- 速度快:基于内存工作,使用离OS最近的C语言编写,使用单线程架构,预防了多线程可能产生的竞争问题。
- 基于键值对的数据结构服务器:redis中的值不仅仅可以是字符串,关于其支持的数据类型已经在文章开头列出来了。
- 丰富的功能:
- 1.键过期功能,用来实现缓存。
- 2.发布订阅功能,用来实现消息系统。
- 3.支持Lua脚本,可以利用Lua创造出新的Redis命令。
- 4.简单的事务功能,能在一定程度上保证事务的特性。
- 5.提供了流水线(pipeline)功能,这样客户端能将一批命令一次性传到redis,较少网络开销。
- 简单稳定。
- 客户端语言多:支持java、PHP、Python、C、C++、Nodejs等。
- 数据持久化:redis工作在内存中,支持两种持久化方式:RDB、AOF来写入到硬盘中。
- 主从复制:Redis提供了复制功能,实现了多个相同数据的redis副本。
- 高可用和分布式:Redis从2.8版本正式提供了高可用实现redis Sentinel,它能够保证Reids节点的故障发现和故障自动转移,从3.0版本提供了分布式实现Redis
Cluster,他是redis真正的分布式实现,提供了高可用、读写和容量的扩展性。
redis的7个使用场景:
OS | 主机名 | IP |
---|---|---|
Centos 7.5 | redis | 192.168.20.2 |
1 2 3 4 |
[root@redis src]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz [root@redis src]# tar zxf redis-5.0.5.tar.gz [root@redis src]# cd redis-5.0.5/ [root@redis redis-5.0.5]# make |
1 2 3 4 5 6 7 8 9 10 11 |
[root@redis redis-5.0.5]# mkdir -p /usr/local/redis/{bin,conf,data} #创建目录 [root@redis redis-5.0.5]# cp src/redis* /usr/local/redis/bin/ #拷贝命令 [root@redis redis-5.0.5]# cp redis.conf /usr/local/redis/conf/ # 拷贝配置文件 [root@redis redis-5.0.5]# cd /usr/local/redis/bin/ #进入命令目录下,删除不必要的文件 [root@redis bin]# rm -rf *.c [root@redis bin]# rm -rf *.h [root@redis bin]# rm -rf *.o [root@redis bin]# cd ../conf/ [root@redis conf]# cp redis.conf{,.bak} #备份配置文件 [root@redis conf]# egrep -v '^$|^#' redis.conf.bak > redis.conf #过滤注释及空行以便生成新的配置文件 |
1 2 3 4 5 6 7 8 9 10 11 |
[root@redis conf]# cat redis.conf #更改配置文件如下 bind 0.0.0.0 #更改位监听所有地址 port 6379 daemonize yes #启用守护进程 pidfile /usr/local/redis/data/redis_6379.pid #指定pid文件 logfile "/usr/local/redis/data/redis.log" #指定日志文件 #添加命令路径到全局命令搜索路径下 [root@redis bin]# echo 'export PATH=${PATH}:/usr/local/redis/bin' >> /etc/profile [root@redis bin]# source /etc/profile [root@redis bin]# redis-server -v #查看redis版本 Redis server v=5.0.5 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=94d37e8f5f58aed5 |
1 2 3 4 5 6 7 |
[root@redis bin]# redis-server /usr/local/redis/conf/redis.conf #启动redis [root@redis bin]# ss -anpt | grep 6379 #确定端口在监听 LISTEN 0 128 *:6379 *:* users:(("redis-server",pid=66992,fd=6)) [root@redis bin]# redis-cli #本机可直接使用redis-cli进行登录 127.0.0.1:6379> [root@redis bin]# redis-cli -h 192.168.20.2 -p 6379 #若远端登录,则需要指定IP及端口 192.168.20.2:6379> |
1 |
[root@redis bin]# cat /usr/local/redis/data/redis.log #查看redis日志 |
会发现redis在启动时,报有以下几个warning:
接下来就解决这些warning问题。
1 2 3 4 5 6 7 |
[root@redis ~]# ulimit -n #查看当前值 1024 [root@redis ~]# vim /etc/security/limits.conf #在文件末尾写入下面内容 * - nofile 10240 #修改后,重新登录即可生效,重新登录后再次查看当前值 [root@redis ~]# ulimit -n 10240 |
1 2 3 |
[root@redis ~]# echo "net.core.somaxconn = 1024" > /etc/sysctl.d/redis.conf [root@redis ~]# sysctl -p /etc/sysctl.d/redis.conf #刷新使其生效 net.core.somaxconn = 1024 |
1 2 3 4 |
[root@redis ~]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.d/redis.conf [root@redis ~]# sysctl -p /etc/sysctl.d/redis.conf #刷新使其生效 net.core.somaxconn = 1024 vm.overcommit_memory = 1 |
1 2 3 4 |
[root@redis ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled #上述指令只是当前生效,重启后就会失效,接下来改为永久生效 [root@redis ~]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local [root@redis ~]# chmod +x /etc/rc.d/rc.local |
至此,reboot重启服务器也好,只是重启redis服务也好,都不会再报哪些warning问题了。如下:
2024-04-11
台式机电脑如何连接外接显示器2024-04-11
小新系列打印机手机配置网络的方法教程2024-04-11
Thinkpad 笔记本F1-F12快捷键分别是什么功能ThinkPad蓝牙鼠标如何配对解答步骤41U5008鼠标驱动官网地址: https://support.lenovo.com/en_US/downloads/detail.page?&LegacyDocID=MIGR-67201 第一种方式是比较传统的:使...
2024-04-11
故障现象: USB设备U盘、移动硬盘等插入后提示无法识别的设备,确认设备本身正常,设备可加电,或插入设备后加电但无任何反应,无法使用。新型号机器多表现为黄色USB接口存在此问题,...
2024-04-11