redis学习小结
2022/1/17 2:03:41
本文主要是介绍redis学习小结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
安装 Redis
1、下载源码,解压缩后编译源码。#
wget http://download.redis.io/releases/redis-5.0.5.tar.gz tar xzf redis-5.0.5.tar.gz cd redis-5.0.5 make make install
2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。#
复制代码 1 #创建redis目录 2 3 mkdir -p /usr/redis 4 5 #拷贝相关执行文件 6 cp redis-server /usr/redis 7 8 cp redis-benchmark /usr/redis 9 10 cp redis-cli /usr/redis 11 12 cp redis.conf /usr/redis 13 14 #进入redis目录 15 cd /usr/redis
查看进程
[hadoop@hadoop000 src]$ ps -ef | grep redis root 11195 10944 0 11:16 pts/0 00:00:00 ./redis-server *:6379 hadoop 11415 11216 0 11:28 pts/1 00:00:00 grep --color=auto redis
杀掉进程
[root@hadoop000 ~]# kill -9 11195
初步尝试
启动服务端
[root@hadoop000 src]# ./redis-server
启动客户端
[hadoop@hadoop000 src]$ ./redis-cli
退出客户端
127.0.0.1:6379> quit
3、 修改配置文件
vi redis.conf <改动地方> # 当我们采用yes时,redis会在后台运行,此时redis将一直运行,除非手动kill该进程。 # 而采用no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。 daemonize yes logfile "/home/hadoop/app/tmp/redis/redis.log"
标准启动 .conf
[hadoop@hadoop000 redis-5.0.5]$ ./src/redis-server redis.conf
服务端启动 + 服务器地址 +服务器端口[6379]
[hadoop@hadoop000 redis-5.0.5]$ ./src/redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> get name (nil) 127.0.0.1:6379> set name pk OK 127.0.0.1:6379> get name "pk"
redis 数据库概念
1、默认最多支持16个数据库 (可以通过redis.conf 进行修改)
2、从 redis-cli 进来,默认选择的是0号数据库;可以通过 select id 来切换数据库
3、各个数据库之前是相互隔离,不想通的
切换数据库
hadoop000:6379> select 2 OK hadoop000:6379[2]>
查询符合规则的key ====> + 表达式
hadoop000:6379[2]> keys user_? 1) "user_4" 2) "user_2" 3) "user_3"
判断某个key 是否存在
hadoop000:6379[2]> EXISTS user (integer) 0 hadoop000:6379[2]> EXISTS user_4 (integer) 1
删除某个 key
hadoop000:6379[2]> del user_6 (integer) 0 hadoop000:6379[2]> del user_2 (integer) 1
从外部批量 查询与 删除keys
[hadoop@hadoop000 redis-5.0.5]$ ./src/redis-cli keys '*' 1) "su_2" 2) "su_4" 3) "su_3" 4) "su_1" [hadoop@hadoop000 redis-5.0.5]$ ./src/redis-cli del 'su_2'
获取某个key 的类型
hadoop000:6379> type su_3 string
String 类型的操作
同时设置多个 key value(string)
hadoop000:6379> mset user_b bb user_c cc user_d dd user_e ee OK hadoop000:6379> keys user_ (empty list or set) hadoop000:6379> keys user_* 1) "user_e" 2) "user_a" 3) "user_c" 4) "user_d" 5) "user_b"
同时获取多个key 对应的value值
hadoop000:6379> mget user_a user_c user_g 1) "aa" 2) "cc" 3) (nil)
当key存在时则不发生动作,当key不存在时新创建一个
hadoop000:6379> setnx user_a a1 (integer) 0 hadoop000:6379> setnx user_a1 a1 (integer) 1 hadoop000:6379> keys * 1) "user_c" 2) "user_b" 3) "user_a1" 4) "user_a" 5) "user_e" 6) "su_4" 7) "user_d" 8) "su_3" 9) "su_1"
—字符串拼接
hadoop000:6379> mget user_a user_b user_c 1) "aa" 2) "bb" 3) "cc" hadoop000:6379> append user_a '-append' (integer) 9 hadoop000:6379> get user_a "aa-append"
—获取字符串长度
hadoop000:6379> get user_a "aa-append" hadoop000:6379> STRLEN user_a (integer) 9
—获取字符串某个区间的内容
hadoop000:6379> GETRANGE user_a 0 3 "aa-a" hadoop000:6379> GETRANGE user_a 0 5 "aa-app"
当为数值型时候
----INCR 递增1 hadoop000:6379> set money 100 OK hadoop000:6379> get money "100" hadoop000:6379> INCR money (integer) 101 hadoop000:6379> INCR money (integer) 102 hadoop000:6379> INCR money (integer) 103 -----数值递减 hadoop000:6379> DECR su_1 (integer) 221 hadoop000:6379> DECR su_1 (integer) 220 hadoop000:6379> DECR su_1 (integer) 219 ----设定某个值 批量递增递减 hadoop000:6379> DECRBY su_1 200 (integer) 19 hadoop000:6379> DECRBY su_1 200 (integer) -181 hadoop000:6379> DECRBY su_1 200 (integer) -381 hadoop000:6379> INCRby su_2 500 (integer) 500 hadoop000:6379> INCRby su_2 500 (integer) 1000 hadoop000:6379> INCRby su_2 500 (integer) 1500 hadoop000:6379> INCRby su_aaaaa 500 (integer) 500 hadoop000:6379> INCRby su_aaaaa 500 (integer) 1000 hadoop000:6379> INCRby su_aaaaa 500 (integer) 1500 hadoop000:6379> INCRby su_aaaaa 500 (integer) 2000 ---按照某个值递减float 类型的 hadoop000:6379> INCRBYFLOAT su_1 11.6 "-369.39999999999999999" hadoop000:6379> INCRBYFLOAT su_1 11 "-358.39999999999999999" hadoop000:6379> INCRBYFLOAT su_1 -11.2 "-369.60000000000000001" ---递增类型不为数值时,则报错 hadoop000:6379> INCR user_c (error) ERR value is not an integer or out of range
=========================》》》》
LIST 类型的操作
###从左侧、右侧向 list 添加元素 hadoop000:6379> LPUSH list_1 a b c d (integer) 4 hadoop000:6379> TYPE list_1 list hadoop000:6379> rpush 1 2 3 6 5 4 9 8 7 (integer) 8 ###查看列表所有元素 hadoop000:6379> lrange list_1 0 -1
获取某个索引下的值
hadoop000:6379> lindex list_1 0 "d" ###设置某个索引下的值 hadoop000:6379> lset list_1 3 33333333333333 OK hadoop000:6379> LRANGE list_1 0 -1 1) "d" 2) "c" 3) "b" 4) "33333333333333"
在某个位置插入值
hadoop000:6379> LINSERT list_1 before d ddddddddddddddddddddd (integer) 5 hadoop000:6379> lrange list_1 0 -1 1) "ddddddddddddddddddddd" 2) "d" 3) "c" 4) "b" 5) "33333333333333"
###查看长度
hadoop000:6379> llen list_1 (integer) 4
=========================》》》》
Set 类型处理
添加元素
hadoop000:6379> SADD set_1 a c d p p e g t y b n m k j r [ 9 5 6 3 2 4 1 5 (integer) 18
查看包含的元素
hadoop000:6379> SMEMBERS set_1 1) "f" 2) "d" 3) "y" 4) "[" 5) "a" 6) "m" 7) "g"
删除某个元素
hadoop000:6379> SREM set_1 1 2 3 4 5 6 7 8 9 (integer) 7
###判断set是否包含某个元素 hadoop000:6379> SISMEMBER set_1 a (integer) 1 ###统计包含的个数 hadoop000:6379> SCARD set_1 (integer) 16
随机 去N个个数
hadoop000:6379> SRANDMEMBER set_1 4 1) "j" 2) "b" 3) "k" 4) "a"
这篇关于redis学习小结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Redis资料:新手入门快速指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧