redis
2021/6/17 2:21:33
本文主要是介绍redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
nosql理解
- 定义:非关系型数据库not only sql
- 特点:1.方便扩展,解耦性高; 2.高性能,一秒读11万,写8万; 3.数据类型多样性,且不需要事先设计数据库,随取随用;
- nosql四大分类:-----
-------1.k,v键值对;
-------2.文档型数据库(bson格式,和json一样)
MongoDB是基于分布式文件储存的数据库,主要用来处理大量的文档
MongoDB是一个介于关系型数据库和非关系数据中间的产品!是非关系型数据库中功能最丰富,最像关系型数据库的
ConthDB
-------列存储数据库
Hbse(大数据)
分布式文件系统
-------图关系数据库
redis
安装
#1.解压 tar -zxvf redis-6.0.10.tar.gz #2.安装 make #3.如果报错,可能是gcc 的版本过低,用gcc -v 查看版本, 安装的gcc是4.5.8版本的,版本过低,执行以下命令升级gcc即可 yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile gcc -v #4.执行install make install #5.如果命令 which 和whereis 都找不到安装目录,可使用以下办法 ps -ef|grep redis 得到了进程号 xxxx 然后 ls -l /proc/xxxx/cwd #6.复制redis.conf到当前安装目录下,方便之后使用 mkdir config cp /zt/redis-6.0.10/redis.conf config #7.redis 默认不是后台启动 ,需要修改配置文件(守护进程模式启动) 将 daemonize no 改成 daemonize yes #8.通过配置文件来启动服务 redis-server config/redis.conf #9.使用客户端进行连接测试 #连接端口 redis-cli -p 6379 set name zhoutian get name #查看所有的key keys * #10.关闭连接 先shutdown 再exit
测试性能 redis-benchmark
1.开启服务端,再连接一个客户端
2.查看redis是否开启
3.在bin目录下执行:
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
redis基本知识和命令
#切换数据库 select 3 #清空当前数据库 flushdb #清空所有数据库 flushall #判断key是否存在 exists xxx #移除一个键值对 move xxx #设置数据的过期时间 expire xxx 10( 数据十秒钟后过期) #查看数据类型 type xxx 为什么redis这么快,确实单线程的?
五大基本数据类型
string
append key xxxx(在某个字符后追加字符) strlen key(获取字符串的长度) set views 0--------------incr views-----数据自增(用于浏览量等场景)decr,自减 incrby views 10-----数据自增10 getrange key 0 2(获取字符串前三位) setrange key 1 2 xxx(用xxx替换) setex key 30 xxxx(字符串30秒后自动过期移除) setnx key xxxx(如果key不存在再设置,不用覆盖) mset k1 v1 k2 v2 k3 v3(批量设置值) mget k1 k2 k3(批量的获取值) msetnx k1 v1 k4 v4(如果都不存在才会设置成功,即有原子性特征) mset user:1:name xxx user:1:age xxx(设置对象的值) getset key xxx(如果不存在,返回null,并设置值;如果存在,返回对应的值,在进行设置值)
list(可以做栈,也可以做队列)
所有的list命令都是 L 开头 LPUSH list one (将一个或多个值放在列表的头部) RPUSH list two(将一个或多个值放在列表的尾部) LRANGE list 0 -1(取值) LPOP list (从左移除一个) RPOP list(移除最后一个) LINDEX LIST 1(通过下标来获得一个值) Lset list 0 xxx(将list中第一个元素替换为xxx) LINSERT LIST AFTER
set
sadd myset one(向myset集合中添加元素) smembers myset(查看myset中的所有值) sismember myset xxx(判断xxx是不是在set集合中) scard myset (获取myset中的元素个数) srem myset xxx(移除myset中的元素xxx) srandmember myset(随机抽取一个元素) spop myset(随机删除一个元素) smove myset1 myset2 xxx (将xxx从myset1中移动到myset2中去) 数字集合类 ---差集 sdiff set1 set2 ---交集 sinter set1 set2(共同好友,共同关注应用场景) ---并集 sunion set1 set2
hash(哈希)
这篇关于redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31Tiny RDM:你的下一代Redis桌面GUI神器-icode9专业技术文章分享
- 2024-03-21redisinsight-v2
- 2024-02-26Typed property App\Api\Mapper\GamePropsConfigMapper::$apiRedis must not be accessed before initia-icode9专业技术文章分享
- 2024-02-21redisson getlock
- 2024-02-20redis config
- 2024-02-20redis leaderboard
- 2024-01-23缓存选型:Redis or MemCache
- 2024-01-22面试官:Redis持久化能关吗?怎么关?
- 2024-01-21Redis压测工具redis-benchmark-icode9专业技术文章分享
- 2024-01-19这才是你应该了解的Redis数据结构!