Redis安装配置:
https://www.cnblogs.com/heqiuyong/p/10463334.html 【可行,安装时需注意当前命令执行的路径】
源码安装完成后将redis-server命令和redis-cli命令设置为全局命令,将redis-cli和redis-server可执行程序所在路径通过软链接链接到/usr/bin/目录下即可。
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli
ln -s /usr/local/redis/bin/redis-server /usr/bin/redis-server
Redis启动
Redis默认安装在/usr/local/redis目录下;
配置文件路径:/usr/local/redis/bin/redis.conf,默认端口:6379;
Redis服务端的启动命令路径:/usr/local/bin/redis-server;
Redis客户端端的启动命令路径:/usr/local/bin/redis-server;
需要启动多个Redis实例:
一台Redis服务器,分成多个节点,每个节点分配一个端口(6380,6381…),默认端口是6379。每个节点对应一个Redis配置文件,如: redis6380.conf、redis6381.conf…
cp redis.confredis6380.conf
vi redis6380.conf
# 配置pidfile
pidfile /var/run/redis/redis_6380.pid
# 配置服务端口
port 6380
# 配置日志输出路径
logfile logfile/var/log/redis/redis_6380.log
# 配置rdb文件输出名字
dbfilename dump_6380.rdb
启动多个Redis实例:
redis-server /usr/local/redis/redis6380.conf
redis-server /usr/local/redis/redis6381.conf
客户端登陆到不同端口的实例上:
# 远程登陆
# redis-cli -h host -p port -a password
# 本地登陆到6380端口上
redis-cli -p 6380
Redis卸载
参考资料:https://www.cnblogs.com/zerotomax/p/7468833.html
停止redis服务器
ps aux|grep redis # 查看redis服务是否在运行
redis-cli shutdown # 在运行就通过当前停止redis服务器
删除make的时候生成的几个redisXXX的文件
ll /usr/local/bin # 查看/usr/local/bin 是否有redis生成的相关文件
-rwxr-xr-x 1 root root 6027000 Dec 28 13:04 redis-benchmark
-rwxr-xr-x 1 root root 10488664 Dec 28 13:04 redis-check-aof
-rwxr-xr-x 1 root root 10488664 Dec 28 13:04 redis-check-rdb
-rwxr-xr-x 1 root root 6540632 Dec 28 13:04 redis-cli
lrwxrwxrwx 1 root root 12 Dec 28 13:04 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 10488664 Dec 28 13:04 redis-server
rm -f /usr/local/bin/redis* # 删除redisXXX的文件
删除redis相关文件夹
whereis redis # 查找redis相关文件夹然后通过rm -rf 进行删除
kil -9 杀不掉指定进程时可以通过下述命令进行杀死
ps -ef | grep 进程名 # 查找指定进程名的 进程信息
kill -HUP 进程id
Redis的特性
速度快
官方给出的数字是读写性能可以达到10万/秒(取决于机器性能)。Redis速度快的原因:
- Redis的所有数据都是存放在内存中的,内存操作的速度非常快;
- Redis是用C语言实现的 ,“距离”操作系统更近,执行速度相对会更快 ;
Redis使用了单线程架构,预防了多线程可能产生的竞争问题。
支持多种数据结构
Redis的全称是REmote Dictionary Server。Redis是基于
**键值对**
的数据库。它主要支持五种基本数据结构:字符串(string)
- 哈希(has)
- 列表(list)
- 集合(set)
- 有序集合(zset)
三种特殊数据类型:
- 位图(bitmaps)
- geospatial
- hyperloglog
丰富的功能
- 提供了键过期功能,可以用来实现缓存。
- 提供了发布订阅功能,可以用来实现消息系统。
- 支持Lua脚本功能,可以利用Lua创造出新的Redis命令。
- 提供了简单的事务功能,能在一定程度上保证事务特性。
- 提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到 Redis,减少了网络的开销。
简单稳定
Redis简单表现在以下三个方面:
- 源码很少;
- 适用单线程模型;
- 不依赖操作系统中的类库。
支持多种客户端语言
支持Redis的客 户端语言非常多,几乎涵盖了主流的编程语言,例如Java、PHP、 Python、C、C++、Nodejs等 。
持久化
通常将数据放在内存中是不安全的,一旦发生断电或者机器故障, 重要的数据可能就会丢失,因此Redis提供了两种持久化方式:RDB和 AOF,即可以用两种策略将内存的数据保存到硬盘中, 这 样就保证了数据的可持久性。
主从复制
Redis提供了复制功能,实现了多个相同数据的Redis副本 , 复制功能是分布式Redis的基础。
高可用与分布式
Redis从2.8版本正式提供了高可用实现Redis Sentinel,它能够保证Redis 节点的故障发现和故障自动转移。Redis从3.0版本正式提供了分布式实现 Redis Cluster,它是Redis真正的分布式实现,提供了高可用、读写和容量的扩展性。
Redis适用场景
缓存
缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力。Redis提供了 键值过期时间设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策 略。
排行榜系统
Redis提供了列表 和有序集合数据结构,合理地使用这些数据结构可以很方便地构建各种排行 榜系统。
计数器应用
Redis天然支持计数功能且计数的性能也非常好,可以说是计数器系统的重要选择 。
社交网络
赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等是社交网站的必备功 。 Redis提供的数据结构可以相对比较容易地实现这些功 能。
消息队列系统
Redis提供了发布订阅功能和阻塞队列的功 能,虽然和专业的消息队列比还不够足够强大,但是对于一般的消息队列功 能基本可以满足。