最简单的Redis的安装步骤

Redis简介

官方网站:https://redis.io/

中文网站:http://www.redis.cn/

下载地址:http://download.redis.io/releases/redis-5.0.5.tar.gz

(一)Redis安装配置

一、环境准备

独配置一台单独的CentOS虚拟机,并配置好网络。

二、安装配置

1)安装wget

yum install wget

2)创建一个软件下载目录并下载redis安装包(也可以下载好redis安装包上传到服务器中)

cd ~

mkdir soft

cd soft

wget http://download.redis.io/releases/redis-5.0.5.tar.gz

3)解压redis安装包

tar xf redis-5.0.5.tar.gz

4)进入redis-src目录,浏览安装文件,查看编译、安装、使用等帮助

cd redis-src

cat README.md

5)在redis-src目录,编译redis

make

#如编译出错时,需在线安装需要的cc编译器环境

yum install gcc离线安装gcc请参考Linux环境搭建相关章节

#清除编译出错的文件,如果编译没有出错可忽略此步骤

make distclean

#重新编译,编译完成后在src目录生成了可执行文件,可以运行redis-server和redis-cli使用,但建议还是应该将redis作为服务进行安装

make

6)安装redis服务,安装完成后会在安装目录下/bin文件下生成启动文件

make install PREFIX=/opt/redis5

7)配置redis环境变量

vi /etc/profile

export REDIS_HOME=/opt/redis5

export PATH=$PATH:$REDIS_HOME/bin

source /etc/profile

echo $PATH    #验证环境变量是否配置成功

8)进入utils目录,安装redis服务,注意一个物理机可以跑多个redis服务

cd /root/soft/redis-5.0.5/utils

./install_server.sh    #可以执行一次或多次,每次都会创建一个redis实例

#这里注意:

a)  一个物理机中可以有多个redis实例(进程),通过port区分

b)  可执行程序就一份在/opt/redis5/bin目录,但是内存中未来的多个实例需要各自的配置文件,持久化目录等资源

c)  service   redis_6379  start/stop/stauts     >   linux   /etc/init.d/****

d)  脚本还会帮你启动!

9)查看redis服务

ps -ef|grep redis

10)启动、停止、查看服务

service redis_6379 start/stop/stauts

11)启动命令行客户端,使用redis

redis-cli    #启动后,默认连接6379端口

redis-cli --help    #查看客户端帮助

redis-cli -p 端口号    #连接其他实例的端口

redis-cli -p 端口号 -n 库编号    #连接第n号库,redis默认有16个库

redis-cli --raw    #启动客户端,并触发编码集格式化,可显示中文

(二)Redis的简单使用

进入客户端后使用help命令可查询使用帮助。

  1. help @<group>,可查询某个分组的帮助,如:help @string
  2. help <common>,可查询具体某个命令的帮助,如:help set;
  3. help <tab>,按tab键可以切换、补全;
  4. quit,退出客户端命令行

一、通用组

help @generic    #查询通用组命令

keys *    #列出所有已经建立的key

FLUSHALL    #清库命令,删除所有现有的数据库

FLUSHDB      #清库命令,在某个db环境下执行,只删除当前db的数据

TYPE key      #查看key对应的value的类型

OBJECT encoding key      #查看key对应的value的编码

二、string

help @string    #查询stirng类型命令

1)字符串操作指令

#设置单个key的value;

#NX:表示key不存在时设置,只能新建

#XX:表示存在时设置,只能更新。

SET key value [expiration EX seconds|PX milliseconds] [NX|XX]

#取出单个key的value

GET key

#设置多个key的value

MSET key value [key value ...]

#取出多个key的value

MGET key [key ...]

#追加key的value

APPEND key value

#可以覆盖value的某一个位置的值

#offset 偏移量的位置,下标从0开始

#value 新的值

SETRANGE key offset value

#取value某一部分的范围值

#start:表示字符value的下标起始值,从0开始

#end:表示字符value的下标结束值,-1为所有

GETRANGE key start end

#取出老的值,设置新的值

GETSET key value

#获取字符串的长度

STRLEN key

#当key不存时,才可以为多个key设置各自的值(只要有一个key存在,所有的key都会设置失败)

MSETNX key value [key value ...]

#以毫秒为单位设置key的生存时间

PSETEX key milliseconds value

2)数值操作指令

#将键的整数值加1

INCR key

#将键的整数值减1

DECR key

#将键的整数值增加给定的值

INCRBY key increment

#将键的整数值减少给定的值

DECRBY key decrement

#将键的浮点值增加给定的值

INCRBYFLOAT key increment

数值应用场景:抢购、秒杀、详情页面、点赞、评论数、好友数、规避并发

3bitmap(二进制位)操作指令

#设置或清除存储在键上的字符串值中偏移的位,这里offset指二进制位数

SETBIT key offset value    #value只能是0或者1

#例如:

setbit k1 1 1:结果为@:0100 0000

setbit k1 7 1:结果为A:0100 0001

setbit k1 9 1:结果为A@:0100 0001 0100 0000

setbit k2 6 1:结果为B:0100 0010

#寻找第一个二进制位(0或1)在字符串二进制位中的位置

#bit要么0要么1

#start、end指字节的开始和结束位置,即字节的索引

BITPOS key bit [start] [end]

#例如:

bitpos k1 1 0 0:结果为1:1出现在k1第一个字节中的位置

bitpos k1 1 1 1:结果为9:1出现在k1第二个字节中的位置

bitpos k1 0 0 1:结果为0:0出现在k1第一、二个字节中的位置

#找到一定范围内1出现的次数

#count只count1

#start、end指字节的开始和结束位置

BITCOUNT key [start] [end]

#例如:

bitcount k1 0 1:结果为3:1出现了3次(0100 0001 0100 0000)

#所有参与的key会触发一个二进制操作(与或非)

#destkey目标key

#key [key …]参与的key

BITOP operation destkey key [key …]

#例如:

mset k1 A k2 B

bitop and k3 k1 k2:结果为k3=@(由k1和k2按照二进制与操作计算得到)

bitop or k4 k1 k2:结果为k4=C(由k1和k2按照二进制或操作计算得到)

bitmap应用场景:

  1. 随机统计用户登录天数,例如sean在一年中的第1,7,364天登录:

setbit sean 1 1

setbit sean 7 1

setbit sean 364 1

strlen sean

bitcount sean -2 -1(统计sean登录次数)

  1. 活跃用户统计,例如京东618做活动:登录用户送礼物,2亿用户,大库需备货多少礼物。

setbit 20190101 1 1(张三在1号登录)

setbit 20190102 1 1(张三在2号登录)

setbit 20190102 7 1(李四在2号登录)

bitop or destkey 20190101 20190102(将2天的登录数据进行或运算,去重)

bitcount destkey 0 -1(统计2天之内的登录用户数)

三、list

#往列表list左边添加多个值

LPUSH key value [value ...]

#往列表list右边添加多个值

RPUSH key value [value ...]

#移除并获取列表中的第一个元素

LPOP key

#移除并获取列表中的最后一个元素

RPOP key

#根据范围获取列表中的值

LRANGE key start stop

#根据下标值获取列表中的元素,下标从0开始,为-1时表示最后一个元素

LINDEX key index

#根据下标值设置列表中元素,下标从0开始,为-1时表示最后一个元素

LSET key index value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值