Redis的概述与安装

一、Redis的概述

  • Redis是一个开源的key-value存储系统。

  • 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted
    set --有序集合)和hash(哈希类型)。

  • 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

  • 在此基础上,Redis支持各种不同方式的排序。

  • 与memcached一样,为了保证效率,数据都是缓存在内存中。

  • 区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。

  • 并且在此基础上实现了master-slave(主从)同步

二、Redis的安装

redis的官方网站
在这里插入图片描述

安装版本 6.2.1 for Linux([font color=red>redis-6.2.1.tar.gz[/font>)

2.1 安装准备工作

安装C语言的编译环境
yum install gcc
#  测试是否安装成功
 gcc --version

出现这个提示就是安装成功了!

2.2 下载redis-6.2.1.tar.gz放/opt目录

2.3 解压命令:tar -zxvf redis-6.2.1.tar.gz

2.4 解压完成后进入目录:cd redis-6.2.1

2.5 在redis-6.2.1目录下再次执行make命令(只是编译好)

2.6 如果没有准备好C语言编译环境,make 会报错—Jemalloc/jemalloc.h:没有那个文件

在这里插入图片描述

2.7 解决方案:运行make distclean

2.8 在redis-6.2.1目录下再次执行make命令(只是编译好)在这里插入图片描述

2.9.跳过make test 继续执行: make install

在这里插入图片描述

2.2.1 安装目录默认在 [font color=red>/usr/local/bin[/font>

查看默认安装目录:
redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
redis-check-dump:修复有问题的dump.rdb文件
redis-sentinel:Redis集群使用
redis-server:Redis服务器启动命令
redis-cli:客户端,操作入口

2.2.2 redis启动

2.2.2.1 备份redis.conf

拷贝一份redis.conf到其他目录
cp /opt/redis-6.2.1/redis.conf /myredis

2.2.2.2 后台启动设置daemonize no改成yes
2.2.2.3 redis启动
redis-server  /myredis/redis.conf
# 查看redis是否启动
ps -ef | grep redis

在这里插入图片描述

2.2.2.4 用客户端访问:redis-cli

在这里插入图片描述

2.2.2.5 redis关闭

单实例关闭:redis-cli shutdown
在这里插入图片描述
使用 kill -9 进程号 (直接杀死进程)

三、常用五大数据类型

3.1.Redis键(key)

keys * 查看当前库所有key (匹配:keys *1)
exists key 判断某个key是否存在
type key 查看你的key是什么类型
del key 删除指定的key数据
unlink key 根据value选择非阻塞删除 仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
expire key 10 10秒钟:为给定的key设置过期时间
ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
select 命令切换数据库
dbsize 查看当前数据库的key的数量
flushdb 清空当前库
flushall 通杀全部库

3.2.Redis字符串(String)

  • set [key][value] 添加键值对 *NX:当数据库中key不存在时,可以将key-value添加数据库 *XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥 *EX:key的超时秒数 *PX:key的超时毫秒数,与EX互斥

  • get [key]查询对应键值

  • append [key][value]将给定的[value] 追加到原值的末尾

  • strlen [key]获得值的长度

  • setnx [key][value]只有在 key 不存在时 设置 key 的值

  • incr [key] 将 key 中储存的数字值增1 只能对数字值操作,如果为空,新增值为1

  • decr [key] 将 key中储存的数字值减1 只能对数字值操作,如果为空,新增值为-1

  • incrby / decrby [key][步长>将 key中储存的数字值增减。自定义步长

  • mset [key1][value1][key2][value2] … 同时设置一个或多个 key-value对

  • mget [key1] [key2] [key3] … 同时获取一个或多个 value

  • msetnx [key1][value1][key2][value2] … 同时设置一个或多个 key-value 对,当且仅当所有给定key 都不存在。

  • [font color=red>原子性,有一个失败则都失败

  • getrange [key] [起始位置>[结束位置> 获得值的范围,类似java中的substring,前包,后包

  • setrange [key] [起始位置>[value] 用[value] 覆写[key] 所储存的字符串值,从[起始位置>开始(索引从0开始)。

  • setex [key] [过期时间>[value] 设置键值的同时,设置过期时间,单位秒。

  • getset [key] [value] 以新换旧,设置了新值同时获得旧值

3.3.Redis列表(List)

  • lpush/rpush [key][value1][value2][value3] … 从左边/右边插入一个或多个值。
  • lpop/rpop [key]从左边/右边吐出一个值。值在键在,值光键亡。
  • rpoplpush [key1][key2] 从[key1]列表右边吐出一个值,插到[key2]列表左边。
  • lrange [key][start][stop] 按照索引下标获得元素(从左到右)
  • lrange mylist 0 -1 0左边第一个,-1右边第一个,(0-1表示获取所有)
  • lindex [key][index]按照索引下标获得元素(从左到右)
  • llen [key]获得列表长度
  • linsert [key] before [value][newvalue]在[value]的后面插入[newvalue]插入值
  • lrem [key][n][value]从左边删除n个value(从左到右)
  • lset[key][index][value]将列表key下标为index的值替换成value

3.4.Redis集合(Set)

  • sadd [key][value1][value2] … 将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略

  • smembers [key]取出该集合的所有值。

  • sismember [key][value]判断集合[key]是否为含有该[value]值,有1,没有0

  • scard[key]返回该集合的元素个数。

  • srem [key][value1][value2] … 删除集合中的某个元素。

  • spop [key]随机从该集合中吐出一个值。

  • srandmember [key][n]随机从该集合中取出n个值。不会从集合中删除 。

  • smove [source][destination]value把集合中一个值从一个集合移动到另一个集合

  • sinter [key1][key2]返回两个集合的交集元素。

  • sunion [key1][key2]返回两个集合的并集元素。

  • sdiff [key1][key2]返回两个集合的差集元素(key1中的,不包含key2中的)

3.5.Redis哈希(Hash)

  • hset [key][field][value] 给[key]集合中的 [field]键赋值[value]
  • hget [key1][field] 从[key1]集合[field]取出 value
  • hmset [key1][field1][value1][field2][value2]… 批量设置hash的值
  • hexists[key1][field] 查看哈希表 key 中,给定域 field 是否存在。
  • hkeys [key] 列出该hash集合的所有field
  • hvals [key] 列出该hash集合的所有value
  • hincrby [key][field][increment]为哈希表 key 中的域 field 的值加上增量 1 -1
  • hsetnx [key][field][value]将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在

3.6.Redis有序集合Zset(sorted set)

  • zadd [key][score1][value1][score2][value2]… 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。

  • zrange [key][start][stop] [WITHSCORES] 返回有序集 key中,下标在[start][stop]之间的元素 带WITHSCORES,可以让分数一起和值返回到结果集。

  • zrangebyscore key minmax [withscores] [limit offset count] 返回有序集 key 中,所有 score 值介于min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score
    值递增(从小到大)次序排列。

  • zrevrangebyscore key maxmin [withscores] [limit offset count] 同上,改为从大到小排列。

  • zincrby [key][increment][value] 为元素的score加上增量

  • zrem [key][value] 删除该集合下,指定值的元素

  • zcount [key][min][max] 统计该集合,分数区间内的元素个数

  • zrank [key][value] 返回该值在集合中的排名,从0开始。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装和配置Redis,您可以按照以下步骤进行操作: 1. 在您的操作系统上安装RedisRedis可以在Linux、Windows和macOS上运行。您可以从Redis官方网站下载适用于您的操作系统的安装程序,或者使用包管理工具(如apt、yum、brew等)来安装Redis。 2. 安装完成后,启动Redis服务器。在Linux上,您可以通过运行以下命令来启动Redis: ``` redis-server ``` 3. 默认情况下,Redis会以本地主机(localhost)的默认端口(6379)运行。如果您希望在其他主机上访问Redis服务器,或者使用不同的端口,可以编辑Redis配置文件进行相应的更改。 4. Redis的配置文件通常位于`redis.conf`。您可以使用文本编辑器打开该文件,并根据需要进行修改。 - 如果您希望允许远程访问Redis服务器,找到`bind`项,并将其设置为服务器的IP地址或`0.0.0.0`以允许所有IP地址访问。 - 如果您想要更改默认端口,找到`port`项,并将其设置为所需的端口号。 - 如果您想要配置密码认证,找到或添加`requirepass`项,并将其设置为所需的密码。 5. 保存并关闭配置文件后,重新启动Redis服务器以使更改生效。 6. 现在,您可以通过Redis客户端连接到Redis服务器并执行命令。Redis客户端可以通过运行以下命令来启动: ``` redis-cli ``` 在Redis客户端中,您可以执行各种Redis命令,如设置键值对、获取值、执行事务等。 这是一个简单的Redis安装和配置的概述。根据您的需求,您可能还需要进行其他配置更改,如持久化、集群配置等。详细的配置选项和更多信息可以在Redis官方文档中找到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值