Redis安装使用

使用docker来拉取redis

docker 常用命令

检 索

docker search 搜索的关键字 

docker search redis

docker hub上检索镜像的详细信息,如镜像的TAG。
拉 取docker pull 镜像名:tag:tag是可选的,tag表示标签,多为软件的版本,默认是latest
列 表docker images查看所有本地镜像
删 除docker rmi image-id删除指定的本地镜像

使用docker拉取redis

docker pull redis

查看拉取的镜像,可以看到拉取的就是latest版本

docker images

启动redis

docker run -itd --name myredis -p 6379:6379 redis

注释:使用6379:6379 意思就是将docker的6379端口映射到我们服务器的6379端口,专业的说法就是将主机端口映射到docker容器的端口,这里的主机就是你安装docker的那台机器,myredis是给redis进程取别名,redis就是我们的镜像,直接写redis,表示默认启动latest版本,如果你拉取的不是latest版本,那么你需要这样

docker run -itd --name myredis -p 6379:6379 redis:TAG

TAG:代表你的版本号

使用检查docker容器是否启动redis

docker ps -a

如果对于docker容器简单命令可以看看菜鸟教程,我觉得挺好。

检查启动redis后,使用命令

docker exec -it redis /bin/bash

然后进入redis终端

redis-cli

如上图,这时我们就可以使用redis了

正式开始redis学习

首先了解redis的数据类型

String: 字符串,Hash: 散列,List: 列表,Set: 集合,Sorted Set: 有序集合。

对于string的操作

使用 set key value赋值

使用get key获取key值

使用getset key value 取值然后赋值

set key value
get key
getset key value

  1. value整数数据时,可以使用以下命令操作数值的增减。
  2. 数值增减都是原子操作。

递增数字

语法:INCR key

指定数据增量

语法:INCRBY key 增量

递减

语法:decr key

减少指定的数

语法:decrby key 数值

仅当不存在的赋值

语法:setnx key value

注释:exists key1,判断key1是否讯在

setnx key1 1122 赋值

setnx key1 1133 重新赋值

后面获取后并没有改变值

追加

语法:append key value

APPEND命令,向键值的末尾追加value如果键不存在则该键的值设置为value,即相当于set key value。返回值是追加后字符串的总长度

获取key值的长度

语法:strlen key

同时获取,设置多个值

mset key1 value1 key2 value2 ...

mget key1 key1...

删除key

语法 del key

hash散列

hash它提供了字段和字段值的映射。字段值只能是字符串类型,不支持散列类型、集合类型等其他类型,如下图所示:

设置值 hset,获取值hget

HSET命令不区分插入更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时返回0

#设置一个值
hset key field value

#给user的字段age设置一个值18
hset user age 18

#获取一个值
mget key field 
#获取user 的age值
mget user age

#设置多个值
hmset key field1 value1 field2 value2 
hmset user name lihua gender man
#获取多个值
hmget key field1 field2
hmget user name gender

#当字段不存在时
hsetnx key field value
#获取所有字段的值
hgetall key
#删除字段,可以删除多个
hdel key field field2
#增减数字
hincrby key field 具体数值
#判断字段是否存在,存在返回1,不存在返回0
exists key field
#获取字段名称
hkeys key
#只获取字段值
hvals key
#获取字段数量
hlen key

List类型

list分为两种,ArrayList和LinkedList

ArrayList:里面是数组,查询快,插入和删除慢(涉及到元素移位,连续的内存空间)

LinkedList:是双向链表,所以删除和插入快,不一定连续,查询慢

redis的list是LinkedList,所以添加元素可以从左边(LEFT)也可以是右边(Right),写英语主要是为了好记住命令。

#左边添加元素,list是一个集合,值可以是一个,或者多个
lpush key value,value2,value3
#右边添加元素
rpush key value1,value2
#查看列表,从startindex开始,到endindex结束,算头又算尾,可以是负数,-1 代表列表的最后一个元素
lrange key startindex endindex
#从左边弹出元素,弹出左边第一个
lpop key
#从右端弹出元素,单出右边第一个
rpop key
#求列表元素的个数
llen key
#删除列表中指定个数的值,count指定个数,value要删除的值,count>0,从左边开始,count<0 从右边开始,count=0,删除所有 value的值
LREM key count value
#获取指定索引元素的值
LINDEX key index
#设置指定元素的值
lset key index value
#向列表中插入元素,通过before|after来判断是将value插入到pivot的之前还是之后,pivot是元素
linsert key before|after pivot value
#在0之前插入11
linsert list1 before 0 11
#将元素从一个列表转移到另一个列表中,从src转到dest
rpoplpush src dest

set集合

set类型即集合类型,其中的数据时不重复且没有顺序

#添加/删除元素#
SADD key member member1
SREM key member member1

#获取集合中的所有元素
SMEMBERS key

#判断元素是否在集合中
SISMEMBER key member

#差集
#集合的差集运算 A-B
SDIFF key [key ...]
#集合的交集运算 A∩B
sinter key [key ...]
#集合的并集运算 A ∪ B
SUNION key [key ...]

#获取集合中的元素个数
scard key
#从集合中弹出一个元素
spop key

zset集合

zset属于SortedSet类型

在集合类型的基础上,有序集合为集合中的每个元素都关联一个分数,这使得我们不仅可以完成插入、删除和判断元素是否存在集合中,还能够获得最高或最低的前N个元素、获取指定分数范围内的元素等与分苏有关的操作。

在某些方面有序集合和列表类型有些相似。

  1. 二者都是有序的。
  2. 二者都可以获得某一范围的元素

但是二者有着很大的区别:

  1. 列表类型是通过链表实现的,后去靠近两端的数据速度极快,而当元素增多后,访问中间数据的速度会变慢。
  2. 有序集合类型使用散列实现,所有即使读取位于中间部分的数据也很快。
  3. 列表中不能简单的调整某个元素的位置,但是有序集合可以(通过更改分数实现)。
  4. 有序集合要比列表类型更耗内存。
#添加元素
ZADD key score member [score member ...]
#获取排名在某个范围的元素列表,如果需要获取元素的分数的可以在命令尾部加上WITHSCORES参数
ZRANGE key start stop [WITHSCORES]
#获取元素的分数
ZSCORE key member
#删除元素
ZREM key member [member ...]
#获取指定分数范围的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
#增加某个元素的分数
ZINCRBY key increment member
# 获取集合中元素的数量
ZCARD key
#获得指定分数范围内的元素个数
ZCOUNT key min max
#按照排名范围删除元素
ZREMRANGEBYRANK key start stop
#获取元素的排名
#从小到大
ZRANK key member
#从大到小
ZREVRANK key member

 

常用:

keys

语法:keys pattern

del

语法:DEL key

exists

作用:确认一个key是否存在

语法:exists key

expire

设置自动销毁时间

rename

作用:重命名key

语法:rename oldkey newkey

type

作用:显示指定key的数据类型

语法:type key

 

文档参考出处:

https://www.cnblogs.com/chenyanbin/p/12073107.html#string%E7%B1%BB%E5%9E%8B

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值