五十一、Redis数据库1:Redis数据库string类型、 list链表类型

一、数据库连接

直接本机连接:redis-cli

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

二、相关操作

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

1、设置key及value

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

2、获取key及value

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

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

5、incrby指定需要增加的数

6、decrby指定需要减去的数

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

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

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

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

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

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

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

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

一级一级嵌套

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

四、redis的其它操作

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

获取以e结尾的键值

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

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

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

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

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

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

6、为key重命名:rename oldkey newkey

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

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

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

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

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

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

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

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

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

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

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

五、string类型的扩展:

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

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

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

3、incr:increament增长

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

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

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

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

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

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

substr  key  start  end

六、Redis 数据库 list链表类型

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

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

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

上进上出:栈

上进下出:队列

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

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

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值