zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    rest framework 认证 权限 频率
    rest framework 视图,路由
    rest framework 序列化
    10.3 Vue 路由系统
    10.4 Vue 父子传值
    10.2 Vue 环境安装
    10.1 ES6 的新增特性以及简单语法
    Django 跨域请求处理
    20190827 On Java8 第十四章 流式编程
    20190825 On Java8 第十三章 函数式编程
  • 原文地址:https://www.cnblogs.com/dflblog/p/11357648.html
Copyright © 2011-2022 走看看