Redis初始

redis中不区分字母的大小写

查看端口 ss tnlp

  • 安装
    • 编译安装(需要先配置epel源)

      yum install -y redis
    • 编译安装

      wget https://download.redis.io/releases/redis-6.2.6.tar.gz
      解压
      tar -zxf redis-4.0.10.tar.gz
      3.切换redis源码目录
      cd redis-4.0.10.tar.gz
      4.编译源文件
      make
      5.编译好后,src/目录下有编译好的redis指令
      6.make install 安装到指定目录,默认在/usr/local/bin
  • redis可执行文件
    ./redis-benchmark //用于进行redis性能测试的工具
    ./redis-check-dump //用于修复出问题的dump.rdb文件
    ./redis-cli //redis的客户端
    ./redis-server //redis的服务端
    ./redis-check-aof //用于修复出问题的AOF文件
    ./redis-sentinel //用于集群管理

1、启动redis服务

  • 进入安装目录 默认/usr/local/bin
    执行./redis-server
    redis-server redis.conf
    默认情况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。
  • 启动redis后会默认占用终端口

2、redis连接

  • ./redis-cli
    [wusir@localhost bin]$ ./redis-cli
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379>
    127.0.0.1:6379> echo 'return pong successful connection'
    "return pong successful connection
    回复pong表示连接成功
  • ECHO 与linux的打印效果一致

  • 127.0.0.1:6379> set name 'dog'
    OK
    127.0.0.1:6379> get name
    "dog"
    127.0.0.1:6379>

3、常用命令

  • 退出命令
    quit
    127.0.0.1:6379> quit
    [wusir@localhost bin]$
  • del删除命令
    127.0.0.1:6379> SET ZJW SG
    OK
    127.0.0.1:6379> SET QQ HHHH
    OK
    127.0.0.1:6379> DEL name
    (integer) 1
    127.0.0.1:6379> set name
    (error) ERR wrong number of arguments for 'set' command
    127.0.0.1:6379> get name
    (nil)
    127.0.0.1:6379> get zjw
    (nil)
    127.0.0.1:6379> get ZJW
    "SG"
    127.0.0.1:6379> get QQ
    "HHHH"
    127.0.0.1:6379> DEL ZJW QQ
    (integer) 2 删除一个或者多个值
    127.0.0.1:6379>
    127.0.0.1:6379> del aaa
    (integer) 0 不存在的被忽略掉
    127.0.0.1:6379>
  • exites key
    127.0.0.1:6379> set wusir 666
    OK
    127.0.0.1:6379> exists wusir
    (integer) 1
    127.0.0.1:6379> exists name
    (integer) 0
  • keys *

    查看所有的key 值

  • keys 匹配规则(正则)

    KEYs a??,

  • expire key 秒

    设置有效时间,

  • TTL key

    查看剩余有效时间,两个特殊值-2key不存在(KEY过期),-1永久有有效,不设置时间

  • pexpire key 毫秒

    设置有效毫秒

  • pttl key

    查看剩余毫秒

  • randomkey

    随机获取一个KEY,但是不删除,数据库为空返回nil

  • move key db

    将数据转移至其他的数据库

  • rename

    重命名KEY,如果不存在则报错

    rename key newkey,如果已有key,则直接覆盖

  • 127.0.0.1:6379> set name helloworld
    OK
    127.0.0.1:6379> keys *
    1) "wusir"
    2) "name"
    127.0.0.1:6379> set hh 12345
    OK
    127.0.0.1:6379> expire name 10
    (integer) 1
    127.0.0.1:6379> ttl name
    (integer) 5
    127.0.0.1:6379> ttl name
    (integer) 2
    127.0.0.1:6379> ttl name
    (integer) -2
    127.0.0.1:6379> ttl wusir
    (integer) -1
    127.0.0.1:6379> keys *
    1) "wusir"
    2) "hh"
    127.0.0.1:6379> keys h?
    1) "hh"
    127.0.0.1:6379> pexpire hh 9000
    (integer) 1
    127.0.0.1:6379> pttl hh
    (integer) 3405
    127.0.0.1:6379> pttl
    (error) ERR wrong number of arguments for 'pttl' command
    127.0.0.1:6379> pttl hh
    (integer) -2
    127.0.0.1:6379> pttl wusir
    (integer) -1
    127.0.0.1:6379> set zjw hello
    OK
    127.0.0.1:6379> keys
    (error) ERR wrong number of arguments for 'keys' command
    127.0.0.1:6379> keys *
    1) "wusir"
    2) "zjw"
    127.0.0.1:6379> set www fff
    OK
    127.0.0.1:6379> set ggg ccc
    OK
    127.0.0.1:6379> keys *
    1) "ggg"
    2) "wusir"
    3) "www"
    4) "zjw"
    127.0.0.1:6379> set key valse
    OK
    127.0.0.1:6379> randromkey
    (error) ERR unknown command `randromkey`, with args beginning with:
    127.0.0.1:6379> randomkey
    "www"
    127.0.0.1:6379> randomkey
    "ggg"
    127.0.0.1:6379> randomkey
    "www"
    127.0.0.1:6379>
    127.0.0.1:6379>
    127.0.0.1:6379> randomkey
    "key"
    127.0.0.1:6379> randomkey
    "www"
    127.0.0.1:6379> move www 2
    (integer) 1
    127.0.0.1:6379> move www 2
    (integer) 0
    127.0.0.1:6379> get www
    (nil)
    127.0.0.1:6379> select 2
    OK
    127.0.0.1:6379[2]> get www
    "fff"
    127.0.0.1:6379[2]> select 3
    OK
    127.0.0.1:6379[3]> randomkey
    (nil)
    127.0.0.1:6379[3]> select 0
    OK
    127.0.0.1:6379> keys *
    1) "ggg"
    2) "key"
    3) "zjw"
    4) "wusir"
    127.0.0.1:6379> rename ggg gege
    OK
    127.0.0.1:6379> rename key kkk
    OK
    127.0.0.1:6379> keys *
    1) "kkk"
    2) "zjw"
    3) "gege"
    4) "wusir"
    127.0.0.1:6379> get kkk
    "valse"
    127.0.0.1:6379> get zjw
    "hello"
    127.0.0.1:6379> rename kkk zjw
    OK
    127.0.0.1:6379> get zjw
    "valse"
    127.0.0.1:6379> renamenx gege wusir
    (integer) 0
    127.0.0.1:6379> get wusir
    "666"
    127.0.0.1:6379> get gege
    "ccc"
    127.0.0.1:6379> keys *
    1) "zjw"
    2) "gege"
    3) "wusir"
    127.0.0.1:6379> type gege
    string
    127.0.0.1:6379> type wusir
    string
    127.0.0.1:6379> type kkkkkkk
    none
    127.0.0.1:6379> lpush alexlist dsb dsb2
    (integer) 2
    127.0.0.1:6379> type alexlist
    list
    127.0.0.1:6379>
  • renamenx
    127.0.0.1:6379> keys *
    1) "ggg"
    2) "key"
    3) "zjw"
    4) "wusir"
    127.0.0.1:6379> rename ggg gege
    OK
    127.0.0.1:6379> rename key kkk
    OK
    127.0.0.1:6379> keys *
    1) "kkk"
    2) "zjw"
    3) "gege"
    4) "wusir"
    127.0.0.1:6379> get kkk
    "valse"
    127.0.0.1:6379> get zjw
    "hello"
    127.0.0.1:6379> rename kkk zjw
    OK
    127.0.0.1:6379> get zjw
    "valse"
    127.0.0.1:6379> renamenx gege wusir
    (integer) 0
    127.0.0.1:6379> 127.0.0.1:6379> get wusir
    "666"
    127.0.0.1:6379> get gege
    "ccc"
    127.0.0.1:6379> keys *
    1) "zjw"
    2) "gege"
    3) "wusir"
    127.0.0.1:6379>
  • type

    查看存储value的数据类型,如果键不存在返回None

    127.0.0.1:6379> type gege
    string
    127.0.0.1:6379> type wusir
    string
    127.0.0.1:6379> type kkkkkkk
    none
    127.0.0.1:6379> lpush alexlist dsb dsb2
    (integer) 2
    127.0.0.1:6379> type alexlist
    list
    127.0.0.1:6379>
  • select 命令
    SELECT 2;
    默认到2库中;总共有16个库,编号为0到15
    切换redis的库
    127.0.0.1:6379> select 2
    OK
    127.0.0.1:6379[2]> select 15
    OK
    127.0.0.1:6379[15]> select 16
    (error) ERR DB index is out of range 127.0.0.1:6379[15]> get name
    (nil)
    127.0.0.1:6379[15]> select 0
    OK
    127.0.0.1:6379> get name
    "dog"
    127.0.0.1:6379>
    [wusir@localhost bin]$ ./redis-cli -n 15
    127.0.0.1:6379[15]>
    启动的时候直接进行到对应库
  • info命令获取系统信息
    127.0.0.1:6379> info 不加参数显示所有
    # Server
    redis_version:6.2.6
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:c38900315f2f12fd
    redis_mode:standalone
    os:Linux 3.10.0-1160.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    atomicvar_api:atomic-builtin
    gcc_version:4.8.5
    process_id:8451
    process_supervised:no
    run_id:4bccf2f220d12c142d1514a61119a717b83ecb04
    tcp_port:6379
    server_time_usec:1634866336526570
    uptime_in_seconds:1048
    uptime_in_days:0
    hz:10
    configured_hz:10
    lru_clock:7476384
    executable:/usr/local/bin/./redis-server
    config_file:
    io_threads_active:0 # Clients
    connected_clients:1
    cluster_connections:0
    maxclients:10000
    client_recent_max_input_buffer:24
    client_recent_max_output_buffer:0
    blocked_clients:0
    tracking_clients:0
    clients_in_timeout_table:0 # Memory
    used_memory:873680
    used_memory_human:853.20K
    used_memory_rss:3014656
    used_memory_rss_human:2.88M
    used_memory_peak:931824
    used_memory_peak_human:909.98K
    used_memory_peak_perc:93.76%
    used_memory_overhead:830408
    used_memory_startup:809832
    used_memory_dataset:43272
    used_memory_dataset_perc:67.77%
    allocator_allocated:920808
    allocator_active:1187840
    allocator_resident:3702784
    total_system_memory:1907744768
    total_system_memory_human:1.78G
    used_memory_lua:37888
    used_memory_lua_human:37.00K
    used_memory_scripts:0
    used_memory_scripts_human:0B
    number_of_cached_scripts:0
    maxmemory:0
    maxmemory_human:0B
    maxmemory_policy:noeviction
    allocator_frag_ratio:1.29
    allocator_frag_bytes:267032
    allocator_rss_ratio:3.12
    allocator_rss_bytes:2514944
    rss_overhead_ratio:0.81
    rss_overhead_bytes:-688128
    mem_fragmentation_ratio:3.63
    mem_fragmentation_bytes:2183736
    mem_not_counted_for_evict:0
    mem_replication_backlog:0
    mem_clients_slaves:0
    mem_clients_normal:20504
    mem_aof_buffer:0
    mem_allocator:jemalloc-5.1.0
    active_defrag_running:0
    lazyfree_pending_objects:0
    lazyfreed_objects:0 # Persistence
    loading:0
    current_cow_size:0
    current_cow_size_age:0
    current_fork_perc:0.00
    current_save_keys_processed:0
    current_save_keys_total:0
    rdb_changes_since_last_save:2
    rdb_bgsave_in_progress:0
    rdb_last_save_time:1634865288
    rdb_last_bgsave_status:ok
    rdb_last_bgsave_time_sec:-1
    rdb_current_bgsave_time_sec:-1
    rdb_last_cow_size:0
    aof_enabled:0
    aof_rewrite_in_progress:0
    aof_rewrite_scheduled:0
    aof_last_rewrite_time_sec:-1
    aof_current_rewrite_time_sec:-1
    aof_last_bgrewrite_status:ok
    aof_last_write_status:ok
    aof_last_cow_size:0
    module_fork_in_progress:0
    module_fork_last_cow_size:0 # Stats
    total_connections_received:4
    total_commands_processed:19
    instantaneous_ops_per_sec:0
    total_net_input_bytes:526
    total_net_output_bytes:81517
    instantaneous_input_kbps:0.00
    instantaneous_output_kbps:0.00
    rejected_connections:0
    sync_full:0
    sync_partial_ok:0
    sync_partial_err:0
    expired_keys:0
    expired_stale_perc:0.00
    expired_time_cap_reached_count:0
    expire_cycle_cpu_milliseconds:27
    evicted_keys:0
    keyspace_hits:3
    keyspace_misses:1
    pubsub_channels:0
    pubsub_patterns:0
    latest_fork_usec:0
    total_forks:0
    migrate_cached_sockets:0
    slave_expires_tracked_keys:0
    active_defrag_hits:0
    active_defrag_misses:0
    active_defrag_key_hits:0
    active_defrag_key_misses:0
    tracking_total_keys:0
    tracking_total_items:0
    tracking_total_prefixes:0
    unexpected_error_replies:0
    total_error_replies:1
    dump_payload_sanitizations:0
    total_reads_processed:23
    total_writes_processed:19
    io_threaded_reads_processed:0
    io_threaded_writes_processed:0 # Replication
    role:master
    connected_slaves:0
    master_failover_state:no-failover
    master_replid:937790b8a90dd91e03356bf4237c7e49224caefc
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:0
    second_repl_offset:-1
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0 # CPU
    used_cpu_sys:1.765061
    used_cpu_user:1.087562
    used_cpu_sys_children:0.000000
    used_cpu_user_children:0.000000
    used_cpu_sys_main_thread:1.595049
    used_cpu_user_main_thread:1.214142 # Modules # Errorstats
    errorstat_ERR:count=1 # Cluster
    cluster_enabled:0 # Keyspace
    db0:keys=1,expires=0,avg_ttl=0 127.0.0.1:6379> info cpu 加上参数显示指定的系统信息
    # CPU
    used_cpu_sys:1.860890
    used_cpu_user:1.153960
    used_cpu_sys_children:0.000000
    used_cpu_user_children:0.000000
    used_cpu_sys_main_thread:1.687953
    used_cpu_user_main_thread:1.283307
    127.0.0.1:6379>

4、redis数据类型

  • String
  • hash
  • list
  • set
  • zset 有序

非关系型数据库redis的更多相关文章

  1. JavaWeb笔记(十)非关系型数据库Redis

    Redis Redis是一款高性能的NOSQL系列的非关系型数据库 主流的NOSQL产品 键值(Key-Value)存储数据库 相关产品: Tokyo Cabinet/Tyrant.Redis.Vol ...

  2. 非关系型数据库--redis

    0.1 新单词 expire 美 /ɪk'spaɪɚ/ 到期 range 美 /rendʒ/ 范围 idle美 /'aɪdl/ 闲置的 0.2 面试题:mysql和redis和memcached区别? ...

  3. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  4. Redis非关系型数据库

    1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...

  5. python 之操作redis数据库(非关系型数据库,k-v)

    数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁 ...

  6. 数据库基础 非关系型数据库 MongoDB 和 redis

    数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...

  7. Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念

    Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...

  8. 【Redis】(1)-- 关系型数据库与非关系型数据库

    关系型数据库与非关系型数据库 2019-07-02  16:34:48  by冲冲 1. 关系型数据库 1.1 概念 关系型数据库,是指采用了关系模型来组织数据的数据库.关系模型指的就是二维表格模型, ...

  9. Redis 01: 非关系型数据库 + 配置Redis

    数据库应用的发展历程 单机数据库时代:一个应用,一个数据库实例 缓存时代:对某些表中的数据访问频繁,则对这些数据设置缓存(此时数据库中总的数据量不是很大) 水平切分时代:将数据库中的表存放到不同数据库 ...

随机推荐

  1. Typora + picgo + Chevereto 优雅地上传图片

    需求:由于经常使用typora写文章,但是配合picgo使用的sm.ms图床,github图床等,速度不稳定,因此我们想要利用自己的服务器搭建自己的图床,将自己文章的图片上传到自己的服务器中,优雅地写 ...

  2. python 元组tuple介绍,使用。

    原文 https://blog.csdn.net/ruanxingzi123/article/details/83184909 一  是什么? # python 元组tuple? ''' 元祖tupl ...

  3. MySQL8.0.28安装教程全程参考MySQL官方文档

    前言 为了MySQL8.0.28安装教程我竟然在MySQL官方文档逛了一天,至此献给想入门MySQL8.0的初学者.以目前最新版本的MySQL8.0.28为示例进行安装与初步使用的详细讲解,面向初学者 ...

  4. https的页面内嵌入http页面报错的问题

    1.https的页面内嵌入http页面报错 在HTTPS的页面上嵌入http的页面时,浏览器会直接报错.比如在HTTPS页面上用 iframe 直接嵌入一个 http 页面,比如我们可以在百度上直接嵌 ...

  5. docker的使用 (2)

    使用Docker 想要玩转Docker,最简单的办法就是马上用Docker创建一些自己学习和工作中需要用到的容器,下面我们带着大家一起来创建这些容器. 运行Nginx Nginx是高性能的Web服务器 ...

  6. docker简介及安装(1)

    Docker简介 软件开发中最为麻烦的事情可能就是配置环境了.由于用户使用的操作系统具有多样性,即便使用跨平台的开发语言(如Java和Python)都不能保证代码能够在各种平台下都可以正常的运转,而且 ...

  7. CAAnimation——简介

  8. VC 获取当前运行窗口名称

    转载请注明来源:https://www.cnblogs.com/hookjc/ BOOL CALLBACK WindowChild(HWND hwnd,LPARAM lparam){ CFGDlg* ...

  9. ubuntu关机重启命令介绍

    转载请注明来源:https://www.cnblogs.com/hookjc/ 重启命令: 1.reboot    2.shutdown -r now 立刻重启(root用户使用)    3.shut ...

  10. NSArray基本概念

    1.NSArray的基本概念 什么是NSArray? NSArray是OC中的数组类,开发中建议尽量使用NSArray替代C语言中的数组 C语言中数组的弊端 int array[4] = {10, 8 ...