• redis


    auth myPassword

    ./redis-server /usr/local/redis/redis.conf &

    gcc版本问题,新版本的。redis6.0以上

    查看gcc版本

    gcc -v


    解决办法

    升级到 5.3及以上版本

    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
    scl enable devtoolset-9 bash

    注意:scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
    #如果要长期生效的话,执行如下:

    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile



    ln -sv mysql-5.7.24-linux-glibc2.12-x86_64 mysql


    wget http://download.redis.io/releases/redis-6.0.8.tar.gz



    # wget http://download.redis.io/releases/redis-6.0.8.tar.gz
    # tar xzf redis-6.0.8.tar.gz
    # cd redis-6.0.8
    # make

    执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:

    下面启动 redis 服务:

    # cd src
    # ./redis-server

    注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。

    # cd src
    # ./redis-server ../redis.conf


    redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

    启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。 比如:

    # cd src
    # ./redis-cli
    redis> set foo bar
    OK
    redis> get foo
    "bar"

    Ubuntu apt 命令安装

    在 Ubuntu 系统安装 Redis 可以使用以下命令:

    # sudo apt update
    # sudo apt install redis-server

    启动 Redis

    # redis-server

    查看 redis 是否启动?

    # redis-cli

    以上命令将打开以下终端:

    redis 127.0.0.1:6379>

    127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

    redis 127.0.0.1:6379> ping
    PONG

    以上说明我们已经成功安装了redis。

    
    

    一、基础命令

    1.连接服务端

    1.  
      redis-cli
    2.  
    3.  
      redis-cli -h ip地址 -p 端口

    2.选择数据库

    1.  
      Redis默认支持16个数据库,对外都是以一个从0开始递增数命令。
    2.  
      select 1
    3.  
      get test
    4.  
       
    5.  
      说明:
    6.  
      1.redis不支持自定义数据库名称称
    7.  
      2.redis不支持为每个数据库设置访问密码
    8.  
      3.redis的多个数据库之间不是完全隔离,flushall命令会清空所有数据

    3.设置数据库数量

    redis.conf文件中找到databases的关键字修改后边的数字即可

    4.设置数据

    set key value

    5.获取数据

    get key

    6.判断是否存在

    exists key

    7.刪除数据

    del key

    8.判断key类型

    type key

    9.递增数字

    incr num

    10.自定义递增数字

    incrby num 2

    11.递减数字

    decr num

    12.自定义递减数字

    decrby num 3

    13.向尾部追加值

    1.  
      set str hello
    2.  
      append str "world"
    3.  
      get str

    14.获取字符串长度

    strlen key

    15.同时设置/获取多个键值

    1.  
      mset k1 v1 k2 v2 k3 v3
    2.  
      get k1
    3.  
      mget k1 k3

    16.设置生存时间(单位:秒)

    1.  
      set user jack
    2.  
      expire user 10 #10秒后被删除

    17.清除生存时间

    1.  
      set user jack
    2.  
      expire user 60
    3.  
      persist user #永久保存

    18.查看生存时间

    1.  
      ttl key
    2.  
      TTL返回值:
    3.  
      大于0的数字:剩余生存时间,单位为秒
    4.  
      -1 没有生存时间,永久存储
    5.  
      -2 数据已经被删除

    二、数据类型命令

    1.字符串命令

    编号命令说明
    1 set key value 此命令设置指定键的值
    2 get key 获取指定键的值
    3 getrange key start end 获取存储在键上的字符串的子字符串
    4 getset key value 设置键的字符串值并返回其旧值
    5 getbit key offset 返回在键处存储的字符串值中偏移处的位值
    6 mget key1 [key2..] 获取所有给定键的值
    7 setbit key offset value 存储在键上的字符串值中设置或清除偏移处的位
    8 setex key seconds value 使用键和到期时间来设置值
    9 setnx key value 设置键的值,仅当键不存在时
    10 setrange key offset value 在指定偏移处开始的键处覆盖字符串的一部分
    11 strlen key 获取存储在键中的值的长度
    12 mset key value [key value …] 为多个键分别设置它们的值
    13 msetnx key value [key value …] 为多个键分别设置它们的值,仅当键不存在时
    14 psetex key milliseconds value 设置键的值和到期时间(以毫秒为单位)
    15 incr key 将键的整数值增加1
    16 incrby key increment 将键的整数值按给定的数值增加
    17 incrbyfloat key increment 将键的浮点值按给定的数值增加
    18 decr key 将键的整数值减1
    19 decrby key decrement 按给定数值减少键的整数值
    20 append key value 将指定值附加到键

    2.哈希命令

    编号命令说明
    1 hdel key field2 [field2] 删除一个或多个哈希字段
    2 hexists key field 判断是否存在散列字段。
    3 hget key field 获取存储在指定键的哈希字段的值
    4 hgetall key 获取存储在指定键的哈希中的所有字段和值
    5 hincrby key field increment 将哈希字段的整数值按给定数字增加
    6 hincrbyfloat key field increment 将哈希字段的浮点值按给定数值增加
    7 hkeys key 获取哈希中的所有字段
    8 hlen key 获取散列中的字段数量
    9 hmget key field1 [field2] 获取所有给定哈希字段的值
    10 hmset key field1 value1 [field2 value2 ] 为多个哈希字段分别设置它们的值
    11 hset key field value 设置散列字段的字符串值
    12 hsetnx key field value 仅当字段不存在时,才设置散列字段的值
    13 hvals key 获取哈希中的所有值

    3.列表命令

    编号命令说明
    1 blpop key1 [key2 ] timeout 删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用
    2 brpop key1 [key2 ] timeout 删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用
    3 brpoplpush source destination timeout 从列表中弹出值,将其推送到另一个列表并返回它; 或阻塞,直到一个可用
    4 lindex key index 通过其索引从列表获取元素
    5 linsert key before/after pivot value 在列表中的另一个元素之前或之后插入元素
    6 llen key 获取列表的长度
    7 lpop key 删除并获取列表中的第一个元素
    8 lpush key value1 [value2] 将一个或多个值添加到列表
    9 lpushx key value 仅当列表存在时,才向列表添加值
    10 lrange key start stop 从列表中获取一系列元素
    11 lrem key count value 从列表中删除元素
    12 lset key index value 通过索引在列表中设置元素的值
    13 ltrim key start stop 修剪列表的指定范围
    14 rpop key 删除并获取列表中的最后一个元素
    15 rpoplpush source destination 删除列表中的最后一个元素,将其附加到另一个列表并返回
    16 rpush key value1 [value2] 将一个或多个值附加到列表
    17 rpushx key value 仅当列表存在时才将值附加到列表

    4.集合命令

    编号命令说明
    1 sadd key member1 [member2] 将一个或多个成员添加到集合
    2 scard key 获取集合中的成员数
    3 sdiff key1 [key2] 减去多个集合
    4 sdiffstore destination key1 [key2] 减去多个集并将结果集存储在键中
    5 sinter key1 [key2] 相交多个集合
    6 sinterstore destination key1 [key2] 交叉多个集合并将结果集存储在键中
    7 sismember key member 判断确定给定值是否是集合的成员
    8 smove source destination member 将成员从一个集合移动到另一个集合
    9 spop key 从集合中删除并返回随机成员
    10 srandmember key [count] 从集合中获取一个或多个随机成员
    11 srem key member1 [member2] 从集合中删除一个或多个成员
    12 sunion key1 [key2] 添加多个集合
    13 sunionstore destination key1 [key2] 添加多个集并将结果集存储在键中
    14 sscan key cursor [MATCH pattern] [COUNT count] 递增地迭代集合中的元素
    redis 127.0.0.1:6379> INFO
    # Server
    redis_version:2.5.9
    redis_git_sha1:473f3090
    redis_git_dirty:0
    os:Linux 3.3.7-1-ARCH i686
    arch_bits:32
    multiplexing_api:epoll
    gcc_version:4.7.0
    process_id:8104
    run_id:bc9e20c6f0aac67d0d396ab950940ae4d1479ad1
    tcp_port:6379
    uptime_in_seconds:7
    uptime_in_days:0
    lru_clock:1680564
    
    # Clients
    connected_clients:1
    client_longest_output_list:0
    client_biggest_input_buf:0
    blocked_clients:0
    
    # Memory
    used_memory:439304
    used_memory_human:429.01K
    used_memory_rss:13897728
    used_memory_peak:401776
    used_memory_peak_human:392.36K
    used_memory_lua:20480
    mem_fragmentation_ratio:31.64
    mem_allocator:jemalloc-3.0.0
    
    # Persistence
    loading:0
    rdb_changes_since_last_save:0
    rdb_bgsave_in_progress:0
    rdb_last_save_time:1338011402
    rdb_last_bgsave_status:ok
    rdb_last_bgsave_time_sec:-1
    rdb_current_bgsave_time_sec:-1
    aof_enabled:0
    aof_rewrite_in_progress:0
    aof_rewrite_scheduled:0
    aof_last_rewrite_time_sec:-1
    aof_current_rewrite_time_sec:-1
    
    # Stats
    total_connections_received:1
    total_commands_processed:0
    instantaneous_ops_per_sec:0
    rejected_connections:0
    expired_keys:0
    evicted_keys:0
    keyspace_hits:0
    keyspace_misses:0
    pubsub_channels:0
    pubsub_patterns:0
    latest_fork_usec:0
    
    # Replication
    role:master
    connected_slaves:0
    
    # CPU
    used_cpu_sys:0.03
    used_cpu_user:0.01
    used_cpu_sys_children:0.00
    used_cpu_user_children:0.00

     

  • 相关阅读:
    OSG学习笔记0——解决OSG读obj模型问题[转]
    Shell脚本——make命令和Makefile文件【转】
    Makefile教程(绝对经典,所有问题看这一篇足够了)【转】
    cmake 手册详解【转】
    Grafana密码恢复
    nsenter的用法
    ssh “permissions are too open” error
    CoreDns配置以及外部dns使用
    Prometheus监控系统-Alertmanager Silences静默配置
    linux下解决bash: syntax error near unexpected token `(' 的错误
  • 原文地址:https://www.cnblogs.com/zzl0916/p/13821286.html
Copyright © 2020-2023  润新知