redis

进入控制台

  • redis-cil
  • 需要输入密码的时候可以是用 -a
    • redis-cil -a abcd1234

redis 数据类型

  • string
  • hash
  • list
  • set
  • zset( 有序集合)

  • select [index] 切换库 类似于 db 的 use dbname

  • keys [pattern] 查看当前的键

    127.0.0.1:6379[1]> keys *
    1) "test1"
    2) "test"
  • del key 删除键

    127.0.0.1:6379[1]> del test
    (integer) 1
  • dump key 返回序列化之后的值

    127.0.0.1:6379[1]> dump test
    "\x00\x0bhello-world\b\x00\xad5\x9a\xf9\xb0\xf8\xf2?"
  • exists key 键是否存在

    127.0.0.1:6379[1]> exists test
    (integer) 1
    127.0.0.1:6379[1]> exists test1
    (integer) 0
  • expire key seconds 设置过期时间

    127.0.0.1:6379[1]> expire test 20
    (integer) 1
    127.0.0.1:6379[1]> ttl test
    (integer) 15
    127.0.0.1:6379[1]> ttl test
    (integer) 14
    127.0.0.1:6379[1]> ttl test
    (integer) 4
  • ttl key 获取过期时间

    127.0.0.1:6379[1]> ttl test
    (integer) -2 127.0.0.1:6379[2]> ttl t1
    (integer) -1

    键不存在则返回 -2

    键永不过期返回 -1

  • pttl key 使用毫秒返回剩余的过期时间

  • pexpire key milliseconds 设置过期时间为毫秒

  • expireat key timestamp 设置到指定时间戳过期

  • pexpireat key milliseconds

  • move key db 移动 key 到某 db

    127.0.0.1:6379[1]> keys *
    1) "t1"
    127.0.0.1:6379[1]> move t1 2
    (integer) 1
    127.0.0.1:6379[1]> select 2
    OK
    127.0.0.1:6379[2]> keys *
    1) "t1"
    127.0.0.1:6379[2]> select 1
    OK
    127.0.0.1:6379[1]> keys *
    (empty list or set)
  • randomkey 返回随机的一个键

    127.0.0.1:6379[2]> randomkey
    "t1"
    127.0.0.1:6379[2]> randomkey
    "t2"
  • rename key newkey 重命名

    127.0.0.1:6379[2]> rename t1 ttttt
    OK
    127.0.0.1:6379[2]> keys *
    1) "ttttt"
    2) "t2"
  • renamenx key newkey 当 newkey 不存在的时候重命名

    127.0.0.1:6379[2]> keys *
    1) "tttt"
    2) "ttttt"
    127.0.0.1:6379[2]> set t1 3
    OK
    127.0.0.1:6379[2]> renamenx t1 tttt
    (integer) 0
    127.0.0.1:6379[2]> keys *
    1) "t1"
    2) "tttt"
    3) "ttttt"
    127.0.0.1:6379[2]>
  • type key 获取 key 的类型

    127.0.0.1:6379[2]> type tttt
    string

字符串

  • set key value

  • get key value

  • getrange key start end

  • getset key value 设置成新的 value 并返回原 value

    127.0.0.1:6379[2]> set t1 test
    OK
    127.0.0.1:6379[2]> get t1
    "test"
    127.0.0.1:6379[2]> getset t1 fff
    "test"
    127.0.0.1:6379[2]> get t1
    "fff"
    127.0.0.1:6379[2]> getrange t1 0 1
    "ff"

注意: redis 的 range 是两边都是闭区间,并作为一个 feature ps. 个人用起来觉得比较别扭

  • setex key seconds value 设置 value 并且设置过期时间

    127.0.0.1:6379[2]> setex t2 10 f
    OK
    127.0.0.1:6379[2]> ttl t2
    (integer) 4
  • psetex key milliseconds value

  • setnx key value 不存在 key 的时候设置

    127.0.0.1:6379[2]> setex t2 10 f
    OK
    127.0.0.1:6379[2]> ttl t2
    (integer) 4
  • mset k1 v1 k2 v2 设置多个值

    127.0.0.1:6379[2]> mset k1 v1 k2 v2
    OK
    127.0.0.1:6379[2]> keys *
    1) "k1"
    2) "ttttt"
    3) "t1"
    4) "k2"
    5) "tttt"
    6) "t2"
    127.0.0.1:6379[2]> get k1
    "v1"
    127.0.0.1:6379[2]> get k2
    "v2"
    127.0.0.1:6379[2]>
  • msetnx k1 v1 k2 v2

  • incr 值自增1

    127.0.0.1:6379[2]> set k1 1
    OK
    127.0.0.1:6379[2]> incr k1
    (integer) 2
    127.0.0.1:6379[2]> get k1
    "2"
  • decr 值子减1

    127.0.0.1:6379[2]> decr k1
    (integer) 1 127.0.0.1:6379[2]> get k1
    "1"
  • append key value 追加 value 到原来的值

    127.0.0.1:6379[2]> append k1 test
    (integer) 5
    127.0.0.1:6379[2]> get k1
    "1test"

redis 篇 - 键 and string的更多相关文章

  1. redis 五大数据类型之string篇

    一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...

  2. 数据库之redis篇(3)—— Python操作redis

    虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...

  3. Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置

    Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...

  4. Nosql之Redis篇

    一.QuickStart 1.Redis简介: redis是一个性能优秀的内存数据库,通过key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字 ...

  5. redis对键进行的相关操作

    redis对键操作的相关命令以及如何在python使用这些命令 redis对键操作的命令: 命令 语法 概述 返回值 Redis DEL 命令 del key [key ...] 该命令用于在 key ...

  6. Redis字符串键的底层原理

    before C语言基础 Redis基础 导入 redis的命令如下: set x "hello"; get x; hello Redis作为一种存储字符串的缓存结构,其具体实现是 ...

  7. 《【面试突击】— Redis篇》--Redis都有哪些数据类型?分别在哪些场景下使用比较合适?

    能坚持别人不能坚持的,才能拥有别人不能拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis都有哪些数据类型?分别在哪些场景下使用 ...

  8. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  9. Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令

    Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...

随机推荐

  1. [oracle] 组织架构退格显示 connect by

    1. 按组织架构关系退格显示 create or replace view v_vieworg asselect --v.OBJID,v.OBJNAMElevel as levelid, lpad(' ...

  2. Pyhton学习——Day9

    #文件操作的其他方法 ###############################################################################文件的内置操作函数# ...

  3. 最近邻插值法&线性插值&双线性插值&三线性插值

    最近邻插值法nearest_neighbor是最简单的灰度值插值.也称作零阶插值,就是令变换后像素的灰度值等于距它最近的输入像素的灰度值. 造成的空间偏移误差为像素单位,计算简单,但不够精确.但当图像 ...

  4. linux C++ 编译错误 file not found 其实是原文件后缀的问题

    gcc和clang会根据源文件的后缀.c或者.cpp判断原文件类型,采取不同的编译策略,所以我使用它们编译后缀是.c的C++原文件的时候会出现找不到include的文件的错误,使用正确的后缀名即可.同 ...

  5. HDU 5289 Assignment [优先队列 贪心]

    HDU 5289 - Assignment http://acm.hdu.edu.cn/showproblem.php?pid=5289 Tom owns a company and he is th ...

  6. [Codeforces 626F]Group Projects

    题目大意: 给定\(n\)个数\(a[1]\sim a[n]\),让你把它分为若干个集合,使每个集合内最大值与最小值的差的总和不超过\(K\).问总方案数. 解题思路: 一道很神的dp题. 首先将数进 ...

  7. BZOJ 2820 luogu 2257 yy的gcd (莫比乌斯反演)

    题目大意:求$gcd(i,j)==k,i\in[1,n],j\in[1,m] ,k\in prime,n,m<=10^{7}$的有序数对个数,不超过10^{4}次询问 莫比乌斯反演入门题 为方便 ...

  8. BZOJ 1717 [USACO06DEC] Milk Patterns (后缀数组+二分)

    题目大意:求可重叠的相同子串数量至少是K的子串最长长度 洛谷传送门 依然是后缀数组+二分,先用后缀数组处理出height 每次二分出一个长度x,然后去验证,在排序的后缀串集合里,有没有连续数量多于K个 ...

  9. centos7最小化安装Oracle11gR2

    1.准备CentOS 7 系统环境 我以 CentOS-7-x86_64-DVD-1511.iso 为例,简述Oracle 11g的安装过程. 由于是使用静默模式(silent)安装的,无需使用图形化 ...

  10. Linux网络编程(一):一个简单的socket程序

    服务器: /* *tcp_server.c */ #include <stdio.h> #include <sys/socket.h> #include <netinet ...