Redis基础指令和常识

基础知识

  1. redis 默认有16个数据库

    可以在redis.windows.conf文件中找到(database 16)

  2. 默认使用的是第0个数据库

    可以使用select 切换数据库

    select 0
    
    127.0.0.1:6379[3]> select 0  #切换数据库
    OK
    127.0.0.1:6379> dbsize #查看数据库大小
    (integer) 0				#没有数据所以是0
    127.0.0.1:6379> set name qian  #插入数据
    OK
    127.0.0.1:6379> get name #查询数据
    "qian"
    127.0.0.1:6379> dbsize
    (integer) 1			#size发生了变化
    127.0.0.1:6379>
    
    
  3. **keys ***查看所有的key

    127.0.0.1:6379> keys * 
    1) "name"
    127.0.0.1:6379> set age 34
    OK
    127.0.0.1:6379> set sex ᅣ￐ 
    OK
    127.0.0.1:6379> get sex
    "\xc4\xd0"
    127.0.0.1:6379> keys *
    1) "sex"
    2) "age"
    3) "name"
    127.0.0.1:6379>
    
  4. flushall 清空所有数据(16个库全部清空)

  5. flushdb 清空当前数据库

  6. exists检查key是否存在

    127.0.0.1:6379> exists name
    (integer) 1    #存在的返回1
    127.0.0.1:6379>
    127.0.0.1:6379> exists age
    (integer) 0		#不存在返回0
    127.0.0.1:6379>
    
  7. move移除,就是删除

    127.0.0.1:6379>  move name 1 #1表示当前库
    (integer) 1 #移除name这个key和对应的值   
    127.0.0.1:6379>
    127.0.0.1:6379> exists name
    (integer) 0  #移除后检查存在
    127.0.0.1:6379>
    
  8. expire设置过期时间

    127.0.0.1:6379> set name qian
    OK
    127.0.0.1:6379> expire name 10  #设置10秒后过期
    (integer) 1
    127.0.0.1:6379> keys *
    1) "name"
    127.0.0.1:6379> keys *
    1) "name"
    127.0.0.1:6379> keys *
    1) "name"
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379>
    
  9. ttl查看剩余有效时间

    127.0.0.1:6379> set name qian
    OK
    127.0.0.1:6379> expire name 10
    (integer) 1
    127.0.0.1:6379> ttl name
    (integer) 6
    127.0.0.1:6379> ttl name
    (integer) 4
    127.0.0.1:6379> ttl name
    (integer) 3
    127.0.0.1:6379> ttl name
    (integer) 1
    127.0.0.1:6379> ttl name
    (integer) -2
    127.0.0.1:6379> ttl name
    (integer) -2
    127.0.0.1:6379>
    
  10. type查看key的类型

    127.0.0.1:6379> type name
    string
    127.0.0.1:6379> set 1 3
    OK
    127.0.0.1:6379> type 1
    string 		#注意上面这个1的key也是string
    127.0.0.1:6379>
    
  11. Redis是单线程的

    redis是基于内存操作的,CPU不是Redis的性能瓶颈,Redis的瓶颈是根据内存和网络带宽。

  12. Redis为什么单线程还这么快?

    Redis是C语言写的,官方提供的数据为100000+的QPS,这个不比Memecache差。

    • 误区1:高性能的服务器一定是多线程的!
    • 误区2:多线程(CPU上下文会切换)一定比单线程效率高 !

    核心:redis是将所有的数据放到内存中的,所以说使用单线程去操作效率就是最高的 ,多线程(CPU上下文切换是耗时的操作)。对于内存来说,没有上下文切换效率就是最高的!多次读写都是在一个CPU上的,在内存情况下,这个方案是最佳的。

你可能感兴趣的:(redis,数据库,缓存)