ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis

2021-06-16 23:32:32  阅读:214  来源: 互联网

标签:myset redis 数据库 xxx list key


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(哈希)

标签:myset,redis,数据库,xxx,list,key
来源: https://blog.csdn.net/weixin_50569525/article/details/117961856

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有