一、数据库连接

直接本机连接:redis-cli

连接虚拟机:  redis-cli  -h  虚拟机ip地址 -p  6379

二、相关操作

Redis:内存缓存,key/value形式的

1、设置key及value

Redis创建数据库语句 redis数据库如何建表_redis

注意:username这个key没有的话会创建,有的话,就会覆盖。

2、获取key及value

Redis创建数据库语句 redis数据库如何建表_数据库_02

3、incr做自增操作,可以对某个key的value进行+1的操作

Redis创建数据库语句 redis数据库如何建表_redis_03

4、decr做自减操作,可以对某个key的value进行-1操作

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_04

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_05

5、incrby指定需要增加的数

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_06

Redis创建数据库语句 redis数据库如何建表_数据库_07

6、decrby指定需要减去的数

Redis创建数据库语句 redis数据库如何建表_数据库_08

Redis创建数据库语句 redis数据库如何建表_链表_09

7、keys *:获取redis里面的所有的key,keys 与* 必须要有空格

Redis创建数据库语句 redis数据库如何建表_链表_10

三、Mysql表的数据在redis里的存储格式

Mysql数据表使用行和列的组合,以【it_user】表为例。

Redis创建数据库语句 redis数据库如何建表_redis_11

1、如果需要把上面的mysql里面的表里面的数据存储redis里面,存储的key,需要分如下几步来操作:

Redis创建数据库语句 redis数据库如何建表_链表_12

2、把上面mysql表里面的记录保存在redis:

It_user是mysql数据库的表名,键名这样写有意义

① 第一条记录的语句如下:id:1 分开两次存储

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_13

② 第二条记录的语句如下:

Redis创建数据库语句 redis数据库如何建表_链表_14

一级一级嵌套

Redis创建数据库语句 redis数据库如何建表_redis_15

③ 获取用户的信息,例如要获取用户id为1的信息:

Redis创建数据库语句 redis数据库如何建表_redis_16

四、redis的其它操作

1、扩展keys *命令的使用:

Redis创建数据库语句 redis数据库如何建表_数据库_17

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_18

获取以e结尾的键值

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_19

2、exists key:测试指定key是否存在,存在返回1,不存在返回0

现在来测试username这个key是否存在:

Redis创建数据库语句 redis数据库如何建表_链表_20

现在来测试name这个key是否存在:

Redis创建数据库语句 redis数据库如何建表_链表_21

3、type key返回指定key的value类型

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_22

4、删除指定的key:del key1 key2......keyn 

Redis创建数据库语句 redis数据库如何建表_数据库_23

5、一次性删除多个key,删除的时候key和key之间使用空格隔开:

Redis创建数据库语句 redis数据库如何建表_链表_24

6、为key重命名:rename oldkey newkey

Redis创建数据库语句 redis数据库如何建表_数据库_25

7、返回当前数据库的key数量:dbsize  

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_26

8、(重点)为key指定过期时间,单位是秒:expire key seconds

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_27

9、(重点)返回key的剩余过期秒数:ttl key

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_28

10、Key过期以后,就会自动的删除该key

11、select  index数据库的切换:数据库的编号是从0开始的:0-15

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_29

默认是16个数据库:超出了报错了。

12、切换到索引是3的数据库,并查看该数据库的所有key:

Redis创建数据库语句 redis数据库如何建表_链表_30

默认使用的是索引为0的数据库:

13、将key从当前数据库移动到指定的数据库:move key index

Redis创建数据库语句 redis数据库如何建表_redis_31

14、删除当前数据库中所有key   flushdb

Redis创建数据库语句 redis数据库如何建表_数据库_32

15、删除所有数据库中的所有key    flushall

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_33

五、string类型的扩展:

1、一次设置多个key的值:

Mset  key1  value  key2  value......keyn value

Redis创建数据库语句 redis数据库如何建表_数据库_34

2、一次获取多个key的值:mget  key1  key2......keyn  

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_35

3、incr:increament增长

该指令可以对key进行累加1操作,默认是累加1操作,类似i++操作。

该指令可以针对新key或已有key进行操作,新key:创建该key并累加1,其值为1。

已有key:key的信息值类型要求必须为整形的。

新key:创建该key并累加1,其值为1:

Redis创建数据库语句 redis数据库如何建表_redis_36

4、给指定key的字符串值追加value:append key value

Redis创建数据库语句 redis数据库如何建表_redis_37

5、对内容进行截取,返回截取过的key的字符串值(下标从0开始

substr  key  start  end

Redis创建数据库语句 redis数据库如何建表_数据库_38

Redis创建数据库语句 redis数据库如何建表_数据库_39

六、Redis 数据库 list链表类型

(1)list链表类型:相关操作

list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。

这使得list即可以用作栈,也可以用作队列。

Redis创建数据库语句 redis数据库如何建表_redis_40

上进上出:栈

上进下出:队列

Redis创建数据库语句 redis数据库如何建表_redis_41

1、lpush向链表的头部放入数据(会依次向右移动

Redis创建数据库语句 redis数据库如何建表_redis_42

2、rpush向链表的尾部放入数据(会依次向左移动

Redis创建数据库语句 redis数据库如何建表_数据库_43

3、lrange获取链表里面的数据(从左往右

Redis创建数据库语句 redis数据库如何建表_链表_44

4、lpop在链表的左侧弹出第一个数据  lpop 键名

Redis创建数据库语句 redis数据库如何建表_链表_45

5、rpop在链表的右侧弹出最后一个数据   rpop 键名

Redis创建数据库语句 redis数据库如何建表_redis_46

6、llen 键名返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误。

Redis创建数据库语句 redis数据库如何建表_Redis创建数据库语句_47

7、ltrim key start end:截取list,保留指定区间内的元素,其它的会删掉(下标是从0开始的)

Redis创建数据库语句 redis数据库如何建表_数据库_48

七、实际的应用:获取最新登录的5个用户

1、选择库,设置一个list链表,其key为newlogin,内部有目前较新的5个用户:

Redis创建数据库语句 redis数据库如何建表_链表_49

2、又来一个用户,咱们这个列表只能保存5个用户,那该链表每增加一个新元素,就删除一个旧元素:

Redis创建数据库语句 redis数据库如何建表_链表_50