Redis

Redis是啥

Redis是一个开源的、基于内存的数据结构存储器,可以用作数据库、缓存和消息中间件。

CentOS 7 安装

  1. https://redis.io/download

下载之后上传到服务器

解压

tar -zxvf redis-6.0.6.tar.gz

解压之后出现redis-6.0.6文件夹,我改成了redis6,

进入redis6:cd redis6,编译:make

在进行make时,如果报错了,可以执行以下操作:

1、安装gcc套装(如果是新系统gcc通常安装不全面)
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2、升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
3.redis客户端测试
redis-cli -p 6379

启动redis服务端

  1. redis启动
    打开src,./redis-server

  2. redis后台启动
    打开src,./redis-server &

  1. 查看 redis 是否启动?

打开src, redis-cli

  1. 关闭redis
    shutdown,之后

基本操作

字符串(string)、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

  1. String字符串

    • string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。
    • string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
    • string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

插入一条数据:set age 22
获取一条数据:get age
在获取一条int类型的数据之前先加一:incr age------>23,操作的对象虽然为String格式但是可以转化为int类型

获取旧值并更改为新值:

  1. List

在Redis中list的底层实现是链表,所以在两边插入的效率比较高,随机读取的效率较低。
list的常用操作有LPUSH,RPUSH,LRANGE等。

  • LPUSH:从左侧插入一条数据
  • RPUSH:从右侧插入一条数据
  • LRANGE:获取某一范围内的数据
  1. Set集合

Redis中的集合是一种无序集合,集合中的元素没有先后顺序

  • 向集合中添加元素
  • 列出集合中的所有元素
  • 判断元素是否在列表中,有的话返回1,没有的话返回0
  • 新建一个新的集合,并把两个集合合并

从上面的结果可以看到,合并只是输出两个合集的所有元素,而且重复的元素会被过滤掉。

  1. 有序集合(sorted sets)
    很多时候,我们都将redis中的有序集合叫做zsets,这是因为在redis中,有序集合相关的操作指令都是以z开头的,比如zrange、zadd、zrevrange、zrangebyscore等等
  • 新添加一条数据:
  • 列出集合中的所有数据,同时列出他的序号
  • 只列出所有数据
  1. Hash哈希
    Redis Hash是一个键值对集合
    Redis Hash是一个string类型的 field和value的映射表,hash特别适合存储对象
  • 建立哈希,并赋值

  • 列出哈希的所有信息

  • 更改哈希中的某一个值

    hset:更改一个值,hmset:更改一个或者多个值

经测试,set key会覆盖之前hmset存入的值,而hmset不会覆盖set

Redis的持久化

1. RDB

RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;

2. AOF

AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。

其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。

参考文章:https://blog.csdn.net/liqingtx/article/details/60330555

原文地址:https://www.cnblogs.com/charlottepl/p/13500989.html