首页 > 数据库 >redis-5.0.5离线安装方式

redis-5.0.5离线安装方式

时间:2023-04-27 12:13:03浏览次数:48  
标签:5.0 返回 name 离线 元素 redis field key

官方网址

https://redis.io/
github:https://github.com/antirez/redis

一、安装下载redis-5.0.5

1、官网下载redis-5.0.5.tar.gz

2、解压编译安装

tar -xvf redis-5.0.5.tar.gz
cd redis-5.0.5
make PREFIX=/usr/local/redis install

3、启动redis

①直接启动(不推荐,会进入客户端)

cd /usr/local/redis/bin
./redis-server

②后台启动(推荐)

去解压的路径下复制redis.conf文件到/usr/local/redis/bin下
cp /root/soft/redis-5.0.5 /usr/local/redis/bin
vim /usr/local/redis/bin/redis.conf
修改为daemonize yes
cd /usr/local/redis/bin
./redis-server ./redis.conf

4、关闭redis服务

./redis-server shutdown

二、连接redis

①telnet可以连接redis,没有本身redis-cli更加好用

>telnet 127.0.0.1 6379

②直接使用redis-cli连接

redis-cli -h 10.64.39.100 -p 6379
有认证的话: auth 密码
集群连接:redis-cli -h 10.64.39.100 -p 6379 -c

三、常用redis命令

存储:set key value
set name opt
批量存储:mset key1 value1 key2 value2
mset name linux age 5
获取:get key
get name
批量获取:mget key1 key2
mget name age
查看相关操作:help set|get
查看redis相关信息:info
判断有没有key值:exists key(存在即为1,不存在即为0)
exists name
删除给定key:del key1 key2
del name age
返回给定的key的value类型:type key
type name
返回匹配指定模式的所有key:keys *
keys name*
改名字:rename oldkey newkey
rename name Name
返回当前数据库的key数量:dbsize
为key指定过期时间:expire key seconds
返回key的剩余过期秒数:ttl key
选择数据库:select db-index
select 15 默认16个库0-15
将key从当前数据库移动到指定数据库:move key db-index
删除当前数据库中所有的key:flushdb
删除所有数据库中的所有key:flushall
设置key对应的值为string类型的value:set key value
set name sting
对key值做加操作,并返回新的值:incr key
incr age
对key值做减操作,并返回新的值:decr key
decr age
对key增加指定的值:incrby age 5
对key减少指定的值:incrby age 5
给指定key的字符串追加值:append key value
append name centos name原来的值为linux,则name的值为linuxcentos
返回截取的key的字符串:substr key start end
从0开始,substr name 0 5

redis停止
./redis-cli客户端里面使用shutdown停止后exit退出
或者命令行直接killall redis-server

List:双向链表
先进后出是栈,先进先出是队列
在key对应list的头部添加字符串元素:lpush key string 可以添加多个元素
lpush name xiaoming
在key对应list的尾部添加字符串元素:rpush key string 可以添加多个元素
在list的尾部删除元素,并返回删除的元素:rpop key
在list的头部删除元素,并返回删除的元素:lpop key
对应list的长度,key不存在返回0,如果key对应类型不是list,返回错误:llen key
返回指定区间内的元素,下标从0开始:lrange key start end
lrange name 0 2
截取list,保留指定区间内的元素:ltrim key start end

set:无序集合
sadd xiaomingFR xiaohong xiaoqiang xiaogang xiaohei xiaobai
sadd xiaohongFR xiaoming xiaolv xiaolan xiaobai xiaohei
添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中,返回0,key对应的set不存在返回错误:sadd key member
从key对应set中移除给定元素,成功返回1:srem key member [member]
从p1对应set中移除member并添加到p2对应set中:smove p1 p2 member
返回set的元素个数:scard key
判断member是否在set中:sismember key member
返回所有给定key的交集:sinter key1 key2 keyN
sinter xiaomingFR xiaohongFR
返回所有给的key的并集:sunion key1 key2 keyN
sunion xiaomingFR xiaohongFR
返回所有给的key的差集:sdiff key1 key2 keyN
sdiff xiaomingFR xiaohongFR
返回key对应set的所有元素,结果是无序的:smembers key
从key中移除元素:srem key string
srem xiaomingFR xiaoqing
判断元素是否在key中:sismember key string
sismember xiaomingFR xiaoqiang
将元素从key1中移动到key2:smove key1 key2 string
smove xiaomingFR xiaohongFR xiaogang
查看key中的元素个数:scard key
scard xiaomingFR

zset:有序集合,元素不允许重复,通过权值可以有序的获取集合中的元素
zadd hottop 2 QQ 3 wechat 5 alipay 7 taobao 8 jd 10 king
添加元素到集合,元素在集合中存在则更新对应score
zadd key score member
删除指定元素,1表示成功,如果元素不存在返回0:zrem key member
按照incr幅度增加对应member的score值,返回score值:zincrby key incr member
zincrby hotTop -2 jd
返回指定元素在集合中的排名(下标),集合中元素是按score从小到大排序的:zrank key member
同上,但是集合中元素是按score从大到小排序:zrevrank key member
类似lrange操作从集合中取指定区间的元素,返回的是有序结果:zrange key start end
zrange hotTop 0 4
同上,返回结果是按score逆序的:zrevrange key start end
zrevrange hotTop 0 4
返回集合中元素个数:zcard key
返回给定元素对应的score:zscore key member
zscore hotTop jd
删除集合中排名在指定区间的元素:zremrangebyrank key min max

hash:使用hash结构,压缩效率和使用效率更高,Key:value(field:value)
设置hash field为指定值,如果key不存在,则先创建:hset key field value
hset name username dev
获取指定的hash field:hget key field
hget info phone
获取全部指定的hash field:hmget key field1 field2 fieldN
hmget info username age phone
同时设置hash的多个field:hmset key field1 value1 field2 value2
hmset info username devops age 13 phone 12345678910 job java
将指定的hash field加上给定值:hincrby key field integer
测试指定field是否存在,存在返回1,不存在返回0:hexists key field
hexist info age
删除指定的hash field:hdel key field
hdel info job
返回hash的所有field:hkeys key
hkeys info
返回指定hash的field数量:hlen key
hlen info
返回hash的所有value:hvals key
hvals info
返回hash的所有field和value:hgetall key
hgetall info

snappshoting(快照)
在/usr/local/redis/bin目录下有一个dump.rdb文件
备份频率:在5分钟内,进行10key的改变
或者手动备份 > SAVE
随时要把dump.rdb文件做备份,避免发生意外数据丢失。

redis恢复数据
先停掉redis --> killall redis-server
把备份的dump.rdb文件放到/usr/local/redis/bin目录下覆盖文件原dump.rdb文件 --> cp /root/dump.rdb /usr/local/redis/bin
重新启动redis --> ./usr/local/redis/bin/redis-cli

append only file更快的备份方式
开启aof后,之前的redis里的数据会丢失
默认关闭,开启方式
vi /usr/local/redis/bin/redis.conf
修改为 appendonly yes,重启redis
备份策略
appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
appendfsync no //完全依赖os,性能最好,持久化没保证

redis主从复制
主redis上修改redis.conf
vi redis.conf
bind 127.0.0.1 192.168.10.108
从redis上修改redis.conf
vi redis.conf
slaveof 192.168.10.107 6379 5.0之前的版本
replicaof 192.168.10.107 6379 5.0之后的版本修改slaveof为replicaof
从redis不允许写操作,是因为配置文件里进行了slave read-only设置,也是符合业务的使用需求

redis密码设置
vi redis.conf
requirepass 123456
重启redis
./reids.cli
auth 123456
如果开启了密码限制,搭建主从需要在从redis中填写主redis密码 --> masterauth 123456

标签:5.0,返回,name,离线,元素,redis,field,key
From: https://www.cnblogs.com/chunjeh/p/17358478.html

相关文章

  • mac 上安装redis
    苹果电脑可以通过Homebrew来安装Redis。请按照以下步骤进行操作:1.打开Terminal(终端)应用程序2.输入以下命令以安装Homebrew:```/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)"```3.输入以下命令以更新Homebrew,并检查是......
  • vscode调试redis源码
    ###########众所周知,redis是C语言写的,代码整洁优雅,可读性强 准备工作centos上    makeCFLAGS="-g-O0"              ##########......
  • Redis内存淘汰策略
    Redis内存淘汰策略是指Redis用于缓存的内存不足时,怎么处理需要新写入且需要申请额外空间的数据 全局的键空间选择性移除noeviction:当内存不足以容纳新写入数据时,新写入操作会报错allkeys-lru:当内存不足以容纳新写入数据时,在键空间中移除最近最少使用的keyallkeys-random:当内......
  • Redis部署与配置
    一、下载官网地址:https://redis.io/download/ 二、安装 三、配置——改端口,设置密码打开目录“C:\ProgramFiles\Redis”搜索“port”,更换端口搜索“requirepass”,设置密码重启服务 四、使用使用redis-studio连接redis Done. ......
  • redis,python操作哨兵,python操作集群,缓存优化,缓存击穿,穿透,雪崩
    python操作哨兵高可用架构后》不能直接连接某一个主库》主库可能会挂掉,后来他就不是主库了之前的连接redis操作就不能用了importredisconn=redis.Redis(host='',port=6379)conn.set()conn.close()新的连接哨兵的操作连接哨兵服务器(主机名也可以用做域名)配置文件#redi......
  • shell脚本找出不过期的redis key
    1#!/bin/bash2#Redis通过scan找出不过期的key3#SCAN命令是一个基于游标的迭代器(cursorbasediterator):SCAN命令每次被调用之后,都会向用户返回一个新的游标,用户在下次迭代时需要使用这个新游标作为SCAN命令的游标参数,以此来延续之前的迭代过程。4#注意:当S......
  • 《C# in depth》第5章C#5.0中的更改(十二)——指针和非安全编码
    指针类型是一种C#5.0中引入的不安全代码特性,它允许程序员直接访问内存地址,以及使用指向变量和对象的指针。指针类型可以帮助程序员处理一些高性能场景,例如在大型数组中查找数据。指针类型需要使用unsafe关键字定义,表示这段代码中存在潜在的危险操作。在unsafe代码块中,可以......
  • 《C# in depth》第5章C#5.0中的更改(十三)——異步枚舉器
    一、異步枚舉异步枚举器(AsyncEnumerator)是指一种异步迭代器,可以用于处理异步数据源。它允许我们以异步的方式逐个读取数据源中的元素。在传统的同步枚举器中,当我们遍历一个集合时,程序会等待每个元素返回后才能继续执行下一个操作。而在异步枚举器中,我们可以在等待当前元素返回......
  • Rocky Linux 9 离线安装 MySQL 8.0
    1、离线安装包下载https://dev.mysql.com/downloads/mysql/5.5.html?os=31&version=5.12、解压并安装#解压tarxfmysql-8.0.33-1.el9.x86_64.rpm-bundle.tar#安装MySQLdnf-ylocalinstallmysql-community-common-8.0.33-1.el9.x86_64.rpmdnf-ylocalinstallmys......
  • Linux常用命令redis相关
    一、查询文件中的内容vim文件名使用/xxx即可查询文件中的xxx单词,n下一个选中单词,N上一个选中单词。一、防火墙1.查看防火墙状态:firewall-cmd--state2.启动防火墙systemctlstartfirewalld3.关闭防火墙systemctlstopfirewalld二、redis1、开启redis服......