1.Redis数据库个数

 

在redis.conf配置文件里面可以看到。在使用redis数据库里面,通过使用命令:select+id(0-15)选择数据库。默认是0库

redis查看数据centos redis查看数据库大小_redis查看数据centos

2.常用命令

redis对字母大小写敏感

select+id(0-15)#选择数据库
DBSIZE #查询当前数据库的大小
get +key #获取key对应的value值 注意:是在当前数据库中的key-value
keys * #查看当前数据所有的key值
flushdb #当前清空数据库
FLUSHALL #清空所有数据库 的内容

 3.Redis知识

Redis是单线程的,是基于内存操作的,CPU不是redis瓶颈,瓶颈根据机器内存和网络带宽限制,既然可以单线程,那我们就单线程就可以,化繁为简!!!

3.1.为什么单线程那么快

误区:

1.高性能的服务器一定是多线程

2.多线程一定比单线程高(看cpu,内存性能才可以,因为里面涉及到一些上下文切换的问题)


redis是C写的,基于内存, 单线程的,单线程意味着没有上下文切换,对内存系统来说,效率高。

3.2为什么Redis选择端口为6379?

粉丝效应 为什么Redis选择6379作为默认端口号?_嘿丶单炒饭的博客-_6379

4.Redis五种数据类型

redis查看数据centos redis查看数据库大小_数据库_02

 4.1.key

key * #查看当前数据所有的key值
set key value #设置key的value值
get key  #获取key的value值
EXISTS + key #判断key值存不存在
move key 1 #表示当前数据库移除
EXPIRE key time(秒) #表示设置过期时间
ttl key #查询数据生存时间
type key #查询key的类型
clear #清屏

4.2string类型

set key value #设置key的value值
get key  #获取key的value值
APPEND key value1 #表示在key对应的value后面追加value1的值。如果key不存在,会创建key

STRLEN key #key对应value的长度
incr key #对key进行++操作
decr key #对key进行--操作
INCRBY key num#对key对应的value进行步长相加
DECRBY key num#对key对应的value进行步长相减

GETRANGE key 0 3         #表示截取 下标为0到下标为3的4个字符
GETRANGE key 0 -1         #表示get一个效果

SETRANGE key 1 vaule         #表示将下标为1开始的数据,依次使用value进行填充

4.3list

所有list命令都是l开头

#往list链表里面存储值
LPUSH list one
LPUSH list two
LPUSH list three

#往list链表里面存储值  拿数据是倒着拿(和存储顺序相反)
LRANGE list 0 -1
LRANGE list two
LRANGE list three

5.redis锁

5.1.悲观锁 乐观锁

        乐观锁:指的是在操作数据的时候非常乐观,乐观地认为别人不会同时修改数据,因此乐观锁默认是不会上锁的,只有在执行更新的时候才会去判断在此期间别人是否修改了数据,如果别人修改了数据则放弃操作,否则执行操作。

       悲观锁:指的是在操作数据的时候比较悲观,悲观地认为别人一定会同时修改数据,因此悲观锁在操作数据时是直接把数据上锁,直到操作完成之后才会释放锁,在上锁期间其他人不能操作数据。

乐观锁与悲观锁的区别_阿彬在努力的博客-乐观锁和悲观锁的区别

5.2watch机制

watch可以当乐观锁,watch去监视key,观察key变换,如果变了,就让事务执行失败