• Redis详解(3)基础入门(2)


    1.Redis数据库个数

     

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

    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作为默认端口号?_嘿丶单炒饭的博客-CSDN博客_6379

    4.Redis五种数据类型

     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.悲观锁 乐观锁

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

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

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

    5.2watch机制

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

  • 相关阅读:
    RabbitMQ之消息模式简单易懂,超详细分享~~~
    简单代理模式
    js对象转json文件
    接口测试在python、jmeter、postman工具下如何做断言?
    WPF创建自定义控件编译通过但是找不到资源
    AD9164配置与数据使用指南
    android 注解详解
    如何应对反爬机制?解密常见防护手段及破解方法
    一文带你快速了解Python史上最快Web框架
    Spring Data @Repository 的分页查询
  • 原文地址:https://blog.csdn.net/m0_46392035/article/details/125380984