• redis基础


    2、下载完毕redis之后,解压,编译一下

    $>tar -zxvf redis-5.0.5.tar.gz
    $>cd redis-5.0.5
    $>make
    

    3、编译完之后会进入src文件中,再次make install一下

    $>cd src
    $>make install
    

    4、修改一下redis的config文件

    $>cd redis-5.0.5
    $>vim redis.conf
    //将daemonize属性改为yes,后台启动redis服务
    

    5、 创建2个文件,方便管理一些文件

    $>cd redis-5.0.5
    $>mkdir etc
    $>mkdir bin
    $>mv redis.conf ../etc
    $>cd src
    $>mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server ../bin
    

    6、将bin与etc加入到profile中

    $>vim /etc/profile
    $>在末尾添加
    $>export PATH="$PATH:/root/###/redis-5.0.5/bin"
    $>export PATH="$PATH:/root/###/redis-5.0.5/etc"
    $>sh /etc/profile
    

    7、启动redis

    redis-server /root/***/redis-5.0.5/etc/redis.conf
    

    8、配置内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上/etc/sysctl.conf加上

    $>vim /etc/sysctl.conf
    //将vm.overcommit_memory = 1加入
    $>sysctl -p
    //查看一下
    

    9、redis-cli,可以进入命令行

    连接redis:

    redis-cli -h 域名 -p 端口 -a 密码
    

    查看keys:

    keys *
    keys mykey*
    lrange key 0 -1
    

    清除redis:

    del mykey
    

    //set
    //hash
    //string

    常用命令:
    1、–清空当前选择的数据库,以便于对后面示例的理解。

    redis 127.0.0.1:6379> flushdb 
    OK 
    

    list列表

    lpush list 1
    lpush list 2
    lrange list 0 10
    

    2、–添加String类型的模拟数据。

    redis 127.0.0.1:6379> set mykey 2 
    OK 
    redis 127.0.0.1:6379> set mykey2 “hello” 
    OK 
    

    3、–添加Set类型的模拟数据。

    redis 127.0.0.1:6379> sadd mysetkey 1 2 3 
    (integer) 3 
    

    4、–添加Hash类型的模拟数据。

    redis 127.0.0.1:6379> hset mmtest username “stephen” 
    (integer) 1
    

    5、–根据参数中的模式,获取当前数据库中符合该模式的所有key,从输出可以看出,该命令在执行时并不区分与Key关联的Value类型。

    redis 127.0.0.1:6379> keys my* 
    1) “mysetkey” 
    2) “mykey” 
    3) “mykey2”
    

    6、–删除了两个Keys。

    redis 127.0.0.1:6379> del mykey mykey2 
    (integer) 2 
    

    7、–查看一下刚刚删除的Key是否还存在,从返回结果看,mykey确实已经删除了。

    redis 127.0.0.1:6379> exists mykey 
    (integer) 0 
    

    8、–查看一下刚刚移动过来的Key是否存在,从返回结果看已经存在了。

    redis 127.0.0.1:6379[1]> exists mysetkey 
    (integer) 1
    

    9、–在重新打开ID为0的缺省数据库。

    redis 127.0.0.1:6379[1]> select 0 
    OK 
    

    10、–查看一下刚刚移走的Key是否已经不存在,从返回结果看已经移走。

    redis 127.0.0.1:6379> exists mysetkey 
    (integer) 0 
    

    11、–准备新的测试数据。

    redis 127.0.0.1:6379> set mykey “hello” 
    OK 
    

    –将mykey改名为mykey1

    redis 127.0.0.1:6379> rename mykey mykey1 
    OK 
    

    12、–由于mykey已经被重新命名,再次获取将返回nil。

    redis 127.0.0.1:6379> get mykey 
    (nil)
    

    13、–通过新的键名获取。

    redis 127.0.0.1:6379> get mykey1 
    “hello”
    

    14、–由于mykey已经不存在了,所以返回错误信息。

    redis 127.0.0.1:6379> rename mykey mykey1 
    (error) ERR no such key 
    

    15、–为renamenx准备测试key

    redis 127.0.0.1:6379> set oldkey “hello” 
    OK 
    redis 127.0.0.1:6379> set newkey “world” 
    OK 
    

    16、–由于newkey已经存在,因此该命令未能成功执行。

    redis 127.0.0.1:6379> renamenx oldkey newkey 
    (integer) 0 
    

    17、 –查看newkey的值,发现它也没有被renamenx覆盖。

    redis 127.0.0.1:6379> get newkey 
    “world”
    

    18、PERSIST/EXPIRE/EXPIREAT/TTL:
    –为后面的示例准备的测试数据。

    redis 127.0.0.1:6379> set mykey “hello” 
    OK 
    

    19、–将该键的超时设置为100秒。

    redis 127.0.0.1:6379> expire mykey 100 
    (integer) 1 
    

    20、–通过ttl命令查看一下还剩下多少秒。

    redis 127.0.0.1:6379> ttl mykey 
    (integer) 97 
    

    21、–立刻执行persist命令,该存在超时的键变成持久化的键,即将该Key的超时去掉。

    redis 127.0.0.1:6379> persist mykey 
    (integer) 1 
    

    22、–ttl的返回值告诉我们,该键已经没有超时了。

    redis 127.0.0.1:6379> ttl mykey 
    (integer) -1 
    

    23、–重新更新该键的超时时间为20秒,从返回值可以看出该命令执行成功。

    redis 127.0.0.1:6379> expire mykey 20 
    (integer) 1 
    

    24、–再用ttl确认一下,从结果中可以看出果然被更新了。

    redis 127.0.0.1:6379> ttl mykey 
    (integer) 17 
    

    –立刻更新该键的值,以使其超时无效。

    redis 127.0.0.1:6379> set mykey “world” 
    OK 
    

    –从ttl的结果可以看出,在上一条修改该键的命令执行后,该键的超时也无效了。

    redis 127.0.0.1:6379> ttl mykey 
    (integer) -1
    

    25、TYPE/RANDOMKEY/SORT:
    –由于mm键在数据库中不存在,因此该命令返回none。

    redis 127.0.0.1:6379> type mm 
    none 
    

    26、–mykey的值是字符串类型,因此返回string。

    redis 127.0.0.1:6379> type mykey 
    string
    

    27、–准备一个值是set类型的键。

    redis 127.0.0.1:6379> sadd mysetkey 1 2 
    (integer) 2 
    

    –mysetkey的键是set,因此返回字符串set。

    redis 127.0.0.1:6379> type mysetkey 
    set 
    

    28、–返回数据库中的任意键。

    redis 127.0.0.1:6379> randomkey 
    “oldkey”
    

    29、–清空当前打开的数据库。

    redis 127.0.0.1:6379> flushdb 
    OK 
    

    –由于没有数据了,因此返回nil。

    redis 127.0.0.1:6379> randomkey 
    (nil)
  • 相关阅读:
    2020.11.17
    2020.11.26
    2020.11.18
    2020.12.01
    2020.11.23
    Java编程规范
    20201003 千锤百炼软工人
    2020081920200825 千锤百炼软工人
    20201004 千锤百炼软工人
    20200929 动手动脑
  • 原文地址:https://www.cnblogs.com/dflblog/p/11357648.html
Copyright © 2020-2023  润新知