Redis 安装学习

1. Redis是什么

Redis遵循BSD协议,是使用ANSI C语言编写, 基于内存并支持持久化高性能的Key-Value的NoSQL数据库,起源LLOOGG记录日志,为解决负载问题

2、Reids支持何种数据结构类型

redis支持:

  1. 字符串string
  2. 散列hash
  3. 列表list
  4. 集合set
  5. 有序集合

3、Redis有何应用

  1. 缓存
  2. 数据库
  3. 消息中间件

    类似的有Memcached(支持string类型value)

4、Redis具备的功能

  1. 持久化功能            内存中的数据保存到硬盘,保证数据安全
  2. 发布与订阅功能     消息转发
  3. 分布式事务             原子操作,乐观锁,保证数据处理的安全性
  4. 主从复制                 Sentinel哨兵,故障转移 

5、安装redis

  • 解压安装包

>>tar -zvxf redis-6.2.6.tar.gz
  • 安装GCC
yum install gcc tcl -y 
  • 编译
>>cd redis-6.2.6
>>make
  • 安装
#安装在/usr/local/redis
>>make PREFIX=/usr/local/redis install

   安装完成, 在/usr/local/redis/bin下生成以下文件

redis-benchmark  
redis-check-rdb  
redis-check-aof
redis-sentinel
redis-cli        
redis-server
  •  设置环境变量将bin中内容加入到环境变量中
>>vim ~/.bash_profile

export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin

#保存修改
>>source ~/.bash_profile

   这时一些bin下的命令就可以直接使用如:

>>redis-server -v 
  •  将redis注册为服务

   在源码包utils下有脚本 install_server.sh

>>./install_server.sh 

CentOS 7 报错:
This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!

解决方法:注释掉install_server.sh 如下内容:
#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
#       echo "This systems seems to use systemd."
#       echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
#       exit 1
#fi
#unset _pid_1_exe

  • 执行,设置端口,log,data等配置
  • 设置服务的名称
>> cd /etc/init.d/

mv redis_6379 redisd

6、 启动redis

service redisd start  - 启动
service redisd restart - 重启

连接redis

7、 Redis初识

7.1 Redis可存储的类型

  • 字符串数据类型 string, msg  'h'|'e'|'l'|'l'|'o'|'w'
  • number  , 1003
  • bits ,10010101 二进制
  • 浮点数 3,14 

7.2 Redis帮助及命令

#查看命令
>>help set 

#查看string的函数
>>help @string 

设置Key-Value

  • 不存在,则设置
>>set msg "dfsdf" nx 
  •  不存在,不允许设置
>>set msg "fsdf" xx 
  • 设置过期时间为10秒
>>set msg "temp" ex 10 
  • 设置及获取多个Key-Value
>>mset key1 value1 key2 value2...
>>mget key1 key2 key3
  • 不存在则设置

       该命令具有原子性, 如果至少有一个存在,则msetnx不执行任何操作

>>msetnx key1 value1 key2 value2 
  • 先取得旧值,再设置新值
>>getset key newval
  • 将value插入到字符串key已存储内容的末尾
>>append key value
  • 返回key对应的value的长度
>>strlen key 
  • 返回所有key 
>>keys *

7.3 字符串处理

字符串的正向字符索引以0开始, 最后一个字符的索引为N-1

字符串还有负数索引,负数索引, 以-1开始,从字符串的结尾向字符串的开头依次递减,

如图所示:

字符串基本操作                 

  • 从字符串1下标开始设置替换
>>setrange msg 1 "newval"
  •  获取子串,若超过字符串实际长度,只返回到字符串末尾

        如果开始的下标越界, 则返回空串 ""


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值