博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis基础
阅读量:7208 次
发布时间:2019-06-29

本文共 2646 字,大约阅读时间需要 8 分钟。

redis 介绍

  • 分布式

redis支持主从的模式。原则:Master会将数据同步到slave,而slave不会将数据同步到master。Slave启动时会连接master来同步数据。 这是一个典型的分布式读写分离模型。我们可以利用master来插入数据,slave提供检索服务。这样可以有效减少单个机器的并发访问数量。

redis 安装

wget  http://download.redis.io/releases/redis-4.0.2.tar.gztar -zxf redis.tar.gz -C /opt/moduels/rediscd  /opt/moduels/redis/src/make install 编辑redis.conf文件, 更改以下内容daemonize on改为daemonize yes【目的:redis-server可以后台运行】requirepass 612501【更改redis密码】将bind 127.0.0.1改为0.0.0.0复制代码

如果报错:

解决方法

cd  /opt/moduels/redis/src/ make MALLOC=libc复制代码

数据类型

  • 字符串 String
    在以上实例中我们使用了 SET 和 GET 命令,键为 runoobkey。
  • 哈希 Hash

  • 列表 List

Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

  • 集合 Set

  • 有序集合 Zset

介绍

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

Redis Zrange 返回有序集中,指定区间内的成员。 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推

redis 命令 和配置

  • redis-cli -a 612501 -h 127.0.0.1 -p 6380

    进入redis

  • redis-cli

    进入redis客户端

  • auth <密码>

    进入redis服务器

  • info

    查看redis服务器信息

  • redis-server 启动,法一:redis-server

    最简启动(采用默认配置文件启动)

  • redis-server 启动,法二:redis-server configPath

    配置文件启动 (将需要配置的参数写入文件)

  • redis-server 启动,法三:redis-server --port 6379

  • vi redis.conf:requirepass <密码>

    修改 redis密码

Redis 发布订阅

  • Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
  • 当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

  • 发布/订阅命令 发布/订阅命令

    PSUBSCRIBE pattern [pattern ...]   订阅一个或多个符合给定模式的频道。  PUBSUB subcommand [argument [argument ...]]   查看订阅与发布系统状态。  PUBLISH channel message   将信息发送到指定的频道。  PUNSUBSCRIBE [pattern [pattern ...]]   退订所有给定模式的频道。  SUBSCRIBE channel [channel ...]   订阅给定的一个或多个频道的信息。  UNSUBSCRIBE [channel [channel ...]]   指退订给定的频道。复制代码

Redis 集群

  • 遇到的问题

    1. gem install redis时,出现:redis requires Ruby version >= 2.2.2

    解决方法

    安装RVM  gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3  curl -L get.rvm.io | bash -s stable  find / -name rvm -print  source /usr/local/rvm/scripts/rvm  查看rvm库中已知的ruby版本  rvm list known  安装一个ruby版本  rvm install 2.3.3  使用一个ruby版本  rvm use 2.3.3  设置默认版本  rvm use 2.3.3 --default  卸载一个已知版本  rvm remove 2.0.0  查看ruby版本:  ruby --version  安装redis:  gem install redis复制代码
    1. Could not connect to Redis at 127.0.0.1:6379: Connection refused

      解决方法:redis-cli -a 612501 -h 127.0.0.1 -p 6380复制代码
    2. curl: (35) SSL connect error

      原因:无法在服务器使用curl命令访问https域名,原因是nss版本有点旧了 解决方法:yum -y update nss复制代码

redis持久化

  • 持久化含义 持久化是将程序数据在持久状态和瞬时状态间转换的机制。对于程序来说,程序运行中数据是在内存的,如果没有及时同步写入到磁盘,那么一旦断电或者程序突然奔溃,数据就会丢失了,只有把数据及时同步到磁盘,数据才能永久保存,不会因为宕机影像数据的有效性。而持久化就是将数据从程序同步到磁盘的一个动作过程。

redis.conf 配置文件

转载地址:http://wuwym.baihongyu.com/

你可能感兴趣的文章
Redis介绍及Jedis基础操作
查看>>
20061218: 多个任务管理器
查看>>
WCF 可靠会话
查看>>
vim+makefile入门编辑,编译,差错实例
查看>>
Python之基础练习题
查看>>
AC日记——回文子串 openjudge 1.7 34
查看>>
易买网总结
查看>>
C#导入Excel报错问题。
查看>>
网站前端性能优化
查看>>
课后作业
查看>>
C#反射学习
查看>>
实验二 直线DDA生成算法的GDI实现
查看>>
迭代器与泛型for
查看>>
在idea中用tomcat远程部署调试
查看>>
HGE引擎改进
查看>>
存储过程执行失败与sql668n
查看>>
Android面试题3之描写叙述下Android的系统架构
查看>>
2014-7-20 谁还认得这几本书?
查看>>
基于django搭建网站
查看>>
c++ 循环程序的作业,2017年10月10日作业题。
查看>>