redis的安装与使用

Redis安装与命令使用

安装:

@1:下载地址:

Download | Redis

@2:安装过程

先把下载好的redis的安装包放到linux服务器的相关位置
https://download.redis.io/releases/redis-6.2.7.tar.gz
1:将redis-6.2.7.tar.gz放置到/opt目录下

2:解压下载好的安装包
tar -xvf redis-6.2.7.tar.gz

3:建立redis的软连接,方便后续的升级
ln -s redis-6.2.7.tar.gz redis

4:进入解压后的目录进行安装

cd /opt/redis-6.2.7

make && make install
注意:需要注意的是安装redis之前一定要确保机器已经安装了gcc,否则编译过程将无法实现

5:make install 之后redis就已经成功安装到了默认的目录下 
/usr/local/bin

启动redis以及Redis客户端连接与关闭reids

由于默认已经安装到了/usr/local/bin目录下,所以reids-server和redis-cli命令可在任意目录下执行

启动reids的命令:
 1:默认启动命令:
redis-server &
 2:启动修改默认端口方式
redis-server --port=端口号 
 3:指定配置文件启动
 redis-server /opt/redis-6.2.7/config/redis.conf
------------------------------------------------------------------------------------

redis客户端连接
 reids-cli -h 127.0.0.1 -p 6379

优雅的关闭redis

 redis-cli shutdown nosave|save  (如果关闭之前要保存redis缓存中的数据则使用参数save,反之使用nosave)

redis各种常用命令

redis设置键值对

>set  key  value  

例如:
设置键为wather 值为clod
>set wather cold

set有几个选项
setnx和setxx
@1:setnx命令  如果存在键,则setnx的返回为结果为0,也就是设置失败
语法: setnx  key

例如:
>setnx wather
(integer)0

@2:setxx命令 如果已存在键,使用该命令可以更新键的值。
语法: set key value xx

例如:
>set wather hot xx
ok
------------------------------------------------------------------
redis获取键的值

>get key

例如:
获取wather的值
>get wather
"clod"
-------------------------------------------------------------------
redis查询所有的键

>keys *

例如:
>keys *
1)"wather"

-------------------------------------------------------------------
redis 设置集合

>rpush key 元素1  元素2 ...元素N

例如:
>rpush mylist a b c d e f g h 
(integer)8

---------------------------------------------------------------------
redis 查询键总数

>dbsize

例如
127.0.0.1:6379>dbsize
(integer)2

-----------------------------------------------------------------------
redis删除键以及删除多个键
1:删除键
>del key
例如
127.0.0.1:6379>del wather
(integet)1

2:删除多个键
>del key1 key2 ....keyN

例如:
127.0.0.1:6379>del wather mylist
(integer)2
----------------------------------------------------------------------------
redis返回键的数据结构类型

>type key

例如:
127.0.0.1:6379>type wather
string
127.0.0.1:6379>type mylist
list

------------------------------------------------------------------------------
redis设置键过期,过期后键会自动删除

>expire key seconds

例如:
127.0.0.1:6379>expire wather 10
(integer)1
使用ttl查看剩余时间 大于0的时候是倒计时的数值剩余时间 -1为没设置过期时间,-2代表键不存在
127.0.0.1:6379>ttl wather
(integer)10
......
127.0.0.1:6379>ttl wather
(integer)1
127.0.0.1:6379>ttl wather
(integer)-2
此时说明已经键被删除,可查询下key的值
127.0.0.1:6379>get wather
(nil)
-------------------------------------------------------------------------------------
redis检查键是否存在 如果存在返回1 不存在返回0

>exists key

例如:
>exists wather
(integer)1
删除了wather之后再去查看是否存在
>del wather
(integer)1
>exists wather 
(integer)0

-----------------------------------------------------------------------------------
redis查看键的内部编码

>object encoding  key

例如:
127.0.0.1:6379>object encoding wather
"embstr"
127.0.0.1:6379>obejct encoding mylist
"quicklist"
------------------------------------------------------------------------------------

redis批量设置值和批量获取值
@1批量设置值
语法: mset key1 value1 key2 value2 ...keyn valuen

例如:
127.0.0.1:6379>set a 1 b 2 c 3 d 4
ok

@2:批量获取值
语法: mget key1 key2 ... keyn

例如:
127.0.0.1:6379>mget a b c d
1) "1"
2) "2"
3) "3"
4) "4"

-------------------------------------------------------------------------------------
reids计数功能
语法
incr key
incr命令用于对值做自增操作,返回结果分三种情况
第一种情况值不是整数,返回错误
第二种情况值是整数 返回自增后的结果
第三种情况键不存在,按照为0开始自增,返回结果为1

例如:

127.0.0.1:6379>incr xxxx
(integer)1
127.0.0.1:6379>incr xxxx
(integer)  2

127.0.0.1:6379>set test hello
ok
127.0.0.1:6379>incr test
(error) ERR value is not integer or out of range

备注:redis计数除了增加还有自减,自增指定数字,自减指定数字,自增浮点数
自减: decr key
自增指定数字: incrby key  increment
自减指定数字: decrby key  decrement
自增浮点数:   incrbyfloat key increment

-------------------------------------------------------------------------------
redis追加值
语法:append key value

例如:
127.0.0.1:6379>get wather
"hot"
127.0.0.1:6379>append wather very
(integer) 7
127.0.0.1:6379>get wather
"hotvery"

---------------------------------------------------------------------------------
redis获取字符串长度
语法:strlen key

例如
127.0.0.1:6379>get wather
"hotvery"
127.0.0.1:6379>strlen wather
(integer) 7


-----------------------------------------------------------------------------------
redis设置并且返回原值
语法:getset key value

例如
127.0.0.1:6379>getset xiao  fan
(nil)
127.0.0.1:6379>getset xiao chen
"fan"

-----------------------------------------------------------------------------------
redis设置指定位置的字符
语法:setrange key offeset value

例如
127.0.0.1:6379>set xiao  achen
ok
127.0.0.1:6379>setrange xiao 0 b
(integer)5
127.0.0.1:6379>get xiao
"bchen"

-------------------------------------------------------------------------------------
redis获取部分字符串
语法:getrange key start  end

例如:
127.0.0.1:6379>getrange xiao 0 3
"bche"










posted on 2022-08-31 21:09  晨哥  阅读(97)  评论(0编辑  收藏  举报

导航