string数据

127.0.0.1:6379> setnx k1 888  #键存在,setnx检测到,不会覆盖;
(integer) 0
127.0.0.1:6379> get k1
"12"
127.0.0.1:6379> setnx k4 888   #新键可创建;
(integer) 1
127.0.0.1:6379> setex k4 10 99  #设置键的过期时间;
OK
127.0.0.1:6379> get k4
"99"
127.0.0.1:6379> get k4    #10秒后不存在;
(nil)
127.0.0.1:6379> set k4 888 ex 10  #设置键值和过期时间,另一条命令;
OK
127.0.0.1:6379> get k4
"888"
127.0.0.1:6379> get k4
(nil)

list数据

127.0.0.1:6379> LRANGE l1 0 -1    #l1的所有元素;
1) "kfls"
2) "ll"
3) "5"
4) "1"
127.0.0.1:6379> LPOP l1     #取出一个元素;
"kfls"
127.0.0.1:6379> LPOP l1
"ll"
127.0.0.1:6379> RPOP l1   #从另一侧取出一个元素;
"1"
127.0.0.1:6379> LRANGE l1 0 -1
1) "5"
127.0.0.1:6379> RPUSH l1 kllll  #从另一侧放进一个元素;
(integer) 2
127.0.0.1:6379> RPUSH l1 llpp939
(integer) 3
127.0.0.1:6379> LRANGE l1 0 -1
1) "5"
2) "kllll"
3) "llpp939"
127.0.0.1:6379> LRANGE l1 0 -1
1) "5"
2) "kllll"
3) "llpp939"
127.0.0.1:6379> LINSERT l1 before kllll 999   #在某个元素前添加一个元素;before/after是按lpop的顺序;
(integer) 4
127.0.0.1:6379> LRANGE l1 0 -1
1) "5"
2) "999"
3) "kllll"
4) "llpp939"
127.0.0.1:6379> LSET l1 3 888   #设置第四个值;
OK
127.0.0.1:6379> LRANGE l1 0 -1
1) "5"
2) "999"
3) "kllll"
4) "888"
127.0.0.1:6379> LINDEX l1 2   #查看第3个元素;
"kllll"
127.0.0.1:6379> llen l1   #查看键的长度,值的数量;
(integer) 4

set 数据

127.0.0.1:6379> SMEMBERS s1   #查看set数据;
1) "1"
2) "3"
3) "5"
4) "7"
5) "9"
127.0.0.1:6379> SPOP s1 1   #随机取出一个元素;
1) "1"
127.0.0.1:6379> SMEMBERS s1
1) "3"
2) "5"
3) "7"
4) "9"
127.0.0.1:6379> SPOP s1 2   #随机取出两个元素;
1) "3"
2) "9"
127.0.0.1:6379> SMEMBERS s1
1) "5"
2) "7"
127.0.0.1:6379> SADD s1 1 3 9
(integer) 3
127.0.0.1:6379> SMEMBERS s1
1) "1"
2) "3"
3) "5"
4) "7"
5) "9"
127.0.0.1:6379> SRANDMEMBER s1 3  #随机读3个元素;
1) "3"
2) "5"
3) "9"
127.0.0.1:6379> SRANDMEMBER s1 4  #随机读4个元素;
1) "3"
2) "1"
3) "9"
4) "7"
127.0.0.1:6379> SRANDMEMBER s1 2  #随机读5个元素;
1) "1"
2) "5"
127.0.0.1:6379> SMEMBERS s1  #不影响数据;
1) "1"
2) "3"
3) "5"
4) "7"
5) "9"
127.0.0.1:6379> SMEMBERS s1
1) "1"
2) "3"
3) "5"
4) "7"
5) "9"
127.0.0.1:6379> SMEMBERS s2
1) "2"
2) "4"
3) "6"
4) "7"
5) "8"
6) "9"
7) "10"
127.0.0.1:6379> SDIFF s1 s2   #S1减去两者共有的;
1) "1"
2) "3"
3) "5"
127.0.0.1:6379> SDIFF s2 s1  #s2减去两都共有的;
1) "2"
2) "4"
3) "6"
4) "8"
5) "10"
127.0.0.1:6379> SDIFFSTORE d1 s1 s2   #差集存储为一个新数据;
(integer) 3
127.0.0.1:6379> SMEMBERS d1
1) "1"
2) "3"
3) "5"
127.0.0.1:6379> SINTERSTORE d2 s1 s2   #交集存储为一个新数据;
(integer) 2
127.0.0.1:6379> SMEMBERS d2
1) "7"
2) "9"
127.0.0.1:6379> SUNIONSTORE d3 s1 s2   #并集存储为一个新数据;
(integer) 10
127.0.0.1:6379> SMEMBERS d31) "1"2) "2"3) "3"4) "4"5) "5"6) "6"7) "7"8) "8"9) "9"
10) "10"
127.0.0.1:6379> SISMEMBER d3 4  #查询元素是否存在于一个集合中;
(integer) 1
127.0.0.1:6379> SISMEMBER d2 4
(integer) 0

sorted set数据

127.0.0.1:6379> ZRANGE z1 0 -1 withscores
1) "abc"
2) "1"
3) "lll"
4) "2"
5) "klkl"
6) "3"
7) "oiio"
8) "4"
127.0.0.1:6379> ZRANGE z1 0 -1
1) "abc"
2) "lll"
3) "klkl"
4) "oiio"
127.0.0.1:6379> ZREM z1 abc
(integer) 1
127.0.0.1:6379> ZRANGE z1 0 -1
1) "lll"
2) "klkl"
3) "oiio"
127.0.0.1:6379> ZRANK z1 klkl  #查询一个值的索引值,为第二个元素;
(integer) 1
127.0.0.1:6379> ZREVRANK z1 klkl  #反向查询索引值,为倒数第二个元素;
(integer) 1
127.0.0.1:6379> ZCARD z1
(integer) 3
127.0.0.1:6379> ZCOUNT z1 1 3   #计算编号1-3里,有几个值;
(integer) 2
127.0.0.1:6379> ZRANGE z1 0 -1 withscores
1) "lll"
2) "2"
3) "klkl"
4) "3"
5) "oiio"
6) "4"
127.0.0.1:6379> ZCOUNT z1 3 5  #计算编号3-5里,有几个值;
(integer) 2
127.0.0.1:6379> ZRANGEBYSCORE z1 3 5  #编号3-5里的所有值;
1) "klkl"
2) "oiio"
127.0.0.1:6379> ZREMRANGEBYSCORE z1 3 5  #删除编号3-5里的所有值;
(integer) 2
127.0.0.1:6379> ZRANGE z1 0 -1 withscores
1) "lll"
2) "2"
127.0.0.1:6379> ZREMRANGEBYRANK z1 0 0  #删除索引号为0-0的值;第一个值;只有一个值;
(integer) 1
127.0.0.1:6379> ZRANGE z1 0 -1 withscores
(empty list or set)

hash 数据

127.0.0.1:6379> hmset h2 name b job eng age 22  #批量为一个hash数据建立键值;
OK
127.0.0.1:6379> HGETALL h2
1) "name"
2) "b"
3) "job"
4) "eng"
5) "age"
6) "22"
127.0.0.1:6379> HDEL h2 age   #删除一个键值;
(integer) 1
127.0.0.1:6379> HGETALL h2
1) "name"
2) "b"
3) "job"
4) "eng"
127.0.0.1:6379> HKEYS h2   #查询所有键;
1) "name"
2) "job"
127.0.0.1:6379> HVALS h2   #查询所有值;
1) "b"
2) "eng"
127.0.0.1:6379> HLEN h2    #查询键值对数;
(integer) 2

redis常用操作(键值)

127.0.0.1:6379> keys *   #显示所有key;1) "d2"2) "s1"3) "k1"4) "d1"5) "z2"6) "k2"7) "h1"8) "h2"9) "d3"
10) "k3"
11) "l1"
12) "s2"
127.0.0.1:6379> keys h*   #模糊搜索;
1) "h1"
2) "h2"
127.0.0.1:6379> exists d1   #查询key是否存在;
(integer) 1
127.0.0.1:6379> exists dd1
(integer) 0
127.0.0.1:6379> expire k1 5  #设置key的过期时间;
(integer) 1
127.0.0.1:6379> ttl k1
(integer) 2
127.0.0.1:6379> ttl k1  #key过期,不存在为-2;
(integer) -2
127.0.0.1:6379> select 1  #选择库1,默认为库0;
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> move h1 1   #移动key;
(integer) 1
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "h1"
127.0.0.1:6379[1]> EXPIRE h1 13
(integer) 1
127.0.0.1:6379[1]> ttl h1
(integer) 9
127.0.0.1:6379[1]> PERSIST h1   #取消过期时间;
(integer) 1
127.0.0.1:6379[1]> ttl h1
(integer) -1
127.0.0.1:6379[1]> SELECT 0
OK
127.0.0.1:6379> RANDOMKEY    #随机选择一个key;
"l1"
127.0.0.1:6379> RANDOMKEY
"z2"
127.0.0.1:6379> RANDOMKEY
"s2"
127.0.0.1:6379> rename s2 s3  #修改key名字;
OK
127.0.0.1:6379> keys s*
1) "s1"
2) "s3"
127.0.0.1:6379> type k2   #查看key类型;
string
127.0.0.1:6379> type l1
list
127.0.0.1:6379> type s1
set
127.0.0.1:6379> type z2
zset
127.0.0.1:6379> type h2
hash
127.0.0.1:6379> del h2     #删除key;
(integer) 1
127.0.0.1:6379> keys h*
(empty list or set)

Redis常用操作(服务)

127.0.0.1:6379> dbsize   #查询key数量;
(integer) 9
127.0.0.1:6379> info     #查询服务的相关信息,服务端,客户端,内存,主从,集群等;
127.0.0.1:6379> info Keyspace   #查询某个信息;
# Keyspace
db0:keys=9,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "h1"
127.0.0.1:6379[1]> flushdb   #清空当前库;
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> bgsave    #后台运行,保存数据到rdb中;
Background saving started
127.0.0.1:6379> save     #前台运行,保存;
OK
127.0.0.1:6379> config get *   #查看所有设置;127.0.0.1:6379> config get bind  #查看某项设置;
1) "bind"
2) "127.0.0.1"
127.0.0.1:6379> config get timeout
1) "timeout"
2) "0"
127.0.0.1:6379> CONFIG SET timeout 5  #设置某项;
OK
127.0.0.1:6379> config get timeout
1) "timeout"
2) "5"
127.0.0.1:6379> config get dir
1) "dir"
2) "/data/redis"
127.0.0.1:6379> config get dbfilename   #只要把备份的数据文件,修改好名字放到相应目录,重启服务,即可恢复数据;
1) "dbfilename"
2) "dump.rdb"

Redis安全设置

  • 设置监听ip (被监听的IP才能登陆redis)
    bind 127.0.0.1 2.2.2.2//可以是多个ip,用空格分隔
    设置成内网IP

  • 设置监听端口

[root@draft redis4]# vi /etc/redis.conf   #修改配置文件,后启动redis;
port 16000
[root@draft redis4]# netstat -lntp |grep redis
tcp        0      0 127.0.0.1:16000         0.0.0.0:*               LISTEN      15237/redis-server
[root@draft redis4]# redis-cli -h 127.0.0.1 -p  16000   #登陆命令;
127.0.0.1:16000>
  • 设置密码
[root@draft redis4]# vi /etc/redis.conf   #修改配置文件,后启动redis;
requirepass password   #增加此语句,增加password;
[root@draft redis4]# redis-cli -h 127.0.0.1 -p  16000 -a 'password'
127.0.0.1:16000>
  • 将config命令改名
[root@draft redis4]# vi /etc/redis.conf   #修改配置文件,后启动redis;
rename-command CONFIG shezhi   #增加此语句;
127.0.0.1:16000> config get bind
(error) ERR unknown command 'config'
127.0.0.1:16000> shezhi get bind   #测试新的命名;
1) "bind"
2) "127.0.0.1"
  • 禁掉config命令
rename-command CONFIG ""   #增加此语名,config命令变成空;

redis常用操作2, redis操作键值, redis安全设置相关推荐

  1. java操作properties文件持久键值对和注解到文件

    properties文件在应用系统很长用,写properties文件和加载properties文件都很简单也是很常用的方法. 持久化键值对Properties类提供了store几个方法,其中只能在第一 ...

  2. redis安装、持久化、数据类型、常用操作、操作键值、安全设置、慢查询日志、存储session、主从配置、集群介绍、集群搭建配置、集群操作,php安装redis扩展...

    21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.13/21.14/21.15 redis常用操作 21.16 redis操作键 ...

  3. 【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )

    文章目录 一.哈希 Hash 键值对集合 二.查询操作 1.Redis 中查询 Hash 键值对数据 2.查询 Hash 键是否存在 3.查询 Hash 中所有的键 Field 4.查询 Hash 中 ...

  4. Redis中的键值过期操作

    1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...

  5. java redis 过期_Redis中的键值过期操作

    1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...

  6. Redis命令介绍之键值对操作

    前文已经提及过Redis中对于键值对操作的一些命令,如DEL.EXPIRE / PEXPIRE.TTL / PTTL以及EXISTS.今天我们继续介绍Redis中对键值对操作的相关命令. TYPE T ...

  7. Redis常用数据结构和操作

    1.String 存入字符类型Set name luowen 设置name = luowen 存储Get name 获取设置好的name的值Setnx name luowen 设置name键值为luo ...

  8. Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)

    1. 第三方库 go-redis 因为 Go 标准库中是没提供 redis 的库,所以我们选择用 go-redis 这个第三方库.源码地址为 https://github.com/go-redis/r ...

  9. redis nosql_Redis教程:NoSQL键值存储

    redis nosql 课程大纲 Redis是使用ANSI C编写的,具有可选持久性的开源,网络化,内存中键值数据存储.根据DB-Engines.com的月度排名,Redis是最受欢迎的键值存储. 其 ...

最新文章

  1. java 性能调优:35 个小细节,让你提升 java 代码的运行效率
  2. Lazarus IOCP 移植
  3. 083_html5应用程序缓存
  4. 9个 Python 实用案例分享
  5. 验证视图状态 MAC 失败的解决办法
  6. 无符号哥伦布指数编码
  7. vuejs项目如何修改node_mudule为公用文件?
  8. vs2008 调试js
  9. python实现链表的删除_B站上的免费Python课程
  10. 计算机大学等级评估,“计算机专业”学科评估,四所高校获A+评级
  11. 使用Xcode 6中的AutoLayout约束模拟方面适合行为
  12. matlab帧差法测速,matlab帧差法物体检测
  13. python编程出现:expected an indented block错误
  14. 如何用golang远程控制浏览器
  15. 运维守护神——数十万线上机器的守护【门神】
  16. 股市入门基础 :基本术语和概念的解读
  17. Google浏览器被搜狗篡改怎么恢复?
  18. 动态inventory
  19. ASP.NET Web Service定时执行任务
  20. maven项目转gradle

热门文章

  1. 【JavaWeb 爬虫】Java文本查重网页版 爬取百度搜索结果页全部链接内容
  2. 关于考证(已通过高项、CISA、CISSP、HCIP、RHCE)
  3. SVG_19_太阳_地球_月亮_三球仪_自转_公转
  4. python定义栈_Python开发中栈的定义及用法详解
  5. Java工作五个月了_总结到ict5个月以来的工作
  6. win10 动态磁盘 linux,win10系统基本磁盘转换成动态磁盘的操作办法
  7. CIH病毒破坏硬件原理与删除木马的100多种方法
  8. CIH病毒简介(破坏硬盘的病毒)
  9. mysql 增加合计行_SQL:给查询添加一个合计行
  10. word中出现打一个字消失一个字的解决技巧