当前位置: 首页 > news >正文

如何申请一个网站域名做婚恋网站

如何申请一个网站域名,做婚恋网站,青岛网站设计公司哪家好,建设商城类网站多少钱redis 1、redis安装与启动服务2、redis数据类型3、redis常用命令3.1 字符串String3.2 哈希Hash3.3 列表List3.4 集合Set(无序)3.5 有序集合zset3.6 通用命令 4、使用Java操作Redis4.1 环境准备4.2 Java操作字符串String4.3 Java操作哈希Hash4.4 Java操作…

redis

  • 1、redis安装与启动服务
  • 2、redis数据类型
  • 3、redis常用命令
    • 3.1 字符串String
    • 3.2 哈希Hash
    • 3.3 列表List
    • 3.4 集合Set(无序)
    • 3.5 有序集合zset
    • 3.6 通用命令
  • 4、使用Java操作Redis
    • 4.1 环境准备
    • 4.2 Java操作字符串String
    • 4.3 Java操作哈希Hash
    • 4.4 Java操作列表List
    • 4.5 Java操作集合Set(无序)
    • 4.6 Java操作有序集合zset
    • 4.7 Java实现Redis常用命令

redis是基于内存的key-value结构的数据库。

1、redis安装与启动服务

安装redis主需要将下载好的redis压缩包解压到无中文的目录中即可。

启动服务打开命令行窗口,通过cd命令进入redis安装目录。或者在资源管理器中先进入redis安装目录,然后再该目录中打开命令行窗口。输入如下命令启动redis服务:

redis-server.exe redis.windows.conf

在这里插入图片描述
关闭服务按Ctrl + C

通过客户端连接redis服务。在安装目录中重新打开一个命令行窗口。由于redis默认是没有密码的,所以可以直接输入如下命令:

redis-cli.exe

设置redis密码。打开redis配置文件redis.windows.conf,找到配置密码命令,大概在443行。取消注释,将foobared替换成自己的密码,保存文件,重新启动服务即可。

requirepass foobared

设置密码之后重新通过客户端连接redis服务需要加上密码,完整命令为:

// -h 指定主机地址 -p 指定端口 -a redis密码
redis-cli.exe -h localhost -p 6379 -a 123456

可以通过redis客户端可视化软件连接redis服务,简化redis操作。

2、redis数据类型

redis有5种常用数据类型。

数据类型特点
字符串(String)普通字符串,Redis中最简单的数据类型
哈希(hash)也叫散列,类似于Java中的HashMap结构
列表(list)按照插入顺序排列,可以有重复元素,类似于Java中的LinkedList
集合(set)无序集合,没有重复元素,类似于Java中的HashSet
有序集合(sorted set / zset)集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

在这里插入图片描述

3、redis常用命令

3.1 字符串String

命令说明
SET key value设置指定key的值
GET key获取指定key的值
SETEX key seconds value设置指定key的值,并将key的过期时间设为seconds秒
SETNX key value只有在key不存在时设置key的值

3.2 哈希Hash

Redis hash是一个 String 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

命令说明
HSET key field value将哈希表key中的字段field的值设为value
HGET key field获取存储在哈希表中指定字段的值
HDEL key field删除存储在哈希表中的指定字段
HKEYS key获取哈希表中的所有字段
HVALS key获取哈希表中的所有值

3.3 列表List

命令说明
LPUSH key value1 [value2]将一个或多个值插入到列表头部
LRANGE key start stop获取列表指定范围内的元素,查询所有元素start=0,stop=1
RPOP key移除并获取列表最后一个元素
LLEN key获取列表长度

3.4 集合Set(无序)

命令说明
SADD key member1 [member2]向集合添加一个或多个成员
SMEMBERS key返回集合中的所有成员
SCARD key获取集合的成员数
SINTER key1 [key2]返回给定所有集合的交集
SUNION key1 [key2]返回所有给定集合的并集
SREM key member1 [member2]删除集合中一个或多个成员

3.5 有序集合zset

命令说明
ZADD key score1 member1 [score2 member2]向有序集合添加成员
ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合中指定区间内的成员
ZINCRBY key increment member有序集合中对指定成员的分数加上增量increment
ZREM key member [member…]移除有序集合中的一个或多个成员

3.6 通用命令

命令说明
KEYS pattern查找所有符合给定模式(pattern)的key
EXISTS key检查给定key是否存在
TYPE key返回key所储存的值的类型
DEL key该命令用于在key存在时删除key

4、使用Java操作Redis

Redis的Java客户端有很多种,这里介绍Spring Data Redis。
Spring Data Redis是Spring的一部分,对Redis底层开发包进行了高度封装。在Spring项目中,可以使用Spring Data Redis来简化操作。

4.1 环境准备

  1. 引入Redis依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. 在配置文件中配置Redis数据源
    host:主机地址;port:Redis端口号;password:Redis密码;database:数据库0-15
spring:redis:host: localhostport: 6379password: 123456database: 0
  1. 编写配置类
@Configuration
@Slf4j
public class RedisConfiguration {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { // 注入Redis连接工厂对象log.info("开始创建RedisTemplate对象...");RedisTemplate redisTemplate = new RedisTemplate();// 设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);// 设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
  1. 通过注入RedisTemplate 对象操作Redis。
// 注入RedisTemplate 对象
@Autowired
private RedisTemplate redisTemplate;

4.2 Java操作字符串String

说明方法
获取操作 String 的对象opsForValue()
设置指定key的值set(key, value)
获取指定key的值get()
设置指定key的值,并设置key的过期时间set(key, value, 时间, 单位)
只有在key不存在时设置key的值setIfAbsent(key, value)

Java代码示例:

ValueOperations valueOperations = redisTemplate.opsForValue();  // 获取操作 String 的对象
valueOperations.set("city", "beijing");  						// SET key value
String city = (String) valueOperations.get("city");  				// GET key
System.out.println(city);valueOperations.set("code", "123456", 60, TimeUnit.SECONDS); 	// SETEX key seconds value
valueOperations.setIfAbsent("lock", 1);  						// SETNX key value
valueOperations.setIfAbsent("lock", 2);

4.3 Java操作哈希Hash

说明方法
获取操作 hash 的对象opsForHash()
将哈希表key中的字段field的值设为valueput(key, field, value)
获取存储在哈希表中指定字段的值get(key, field)
删除存储在哈希表中的指定字段delete(key, field)
获取哈希表中的所有字段keys(key)
获取哈希表中的所有值values(key)

Java代码示例:

HashOperations hashOperations = redisTemplate.opsForHash();  // 获取操作 hash 的对象
hashOperations.put("100", "name", "Tom");  				// HSET key field value
hashOperations.put("100", "age", "20");
String name = (String) hashOperations.get("100", "name");  // HGET key field
System.out.println(name);Set keys = hashOperations.keys("100"); 					// HKEYS key
System.out.println(keys);
List values = hashOperations.values("100");  				// HVALS key
System.out.println(values);
hashOperations.delete("100", "name");  					// HDEL key field

4.4 Java操作列表List

说明方法
获取操作 list 的对象opsForList()
将一个或多个值插入到列表头部leftPushAll(key, value1, value2)
插入单个值leftPush(key, value)
获取列表指定范围内的元素,查询所有元素start=0,stop=1range(key, start, stop)
移除并获取列表最后一个元素rightPop(key)
获取列表长度size(key)

Java代码范例:

ListOperations listOperations = redisTemplate.opsForList();  // 获取操作 list 的对象
listOperations.leftPushAll("mylist", "a", "b", "c");  	// LPUSH key value1 [value2] 插入多个值
listOperations.leftPush("mylist", "d");  			// LPUSH key value1 插入单个值List mylist = listOperations.range("mylist", 0, -1); 	// LRANGE key start stop
System.out.println(mylist);listOperations.rightPop("mylist"); 				// RPOP keyLong size = listOperations.size("mylist");			 // LLEN key
System.out.println(size);

4.5 Java操作集合Set(无序)

说明方法
获取操作 set 的对象opsForSet()
向集合添加一个或多个成员add(setKey, member1, member2)
返回集合中的所有成员members(setKey)
获取集合的成员数size(setKey)
返回给定所有集合的交集intersect(setKey1, setKey2)
返回所有给定集合的并集union(setKey1, setKey2)
删除集合中一个或多个成员remove(setKey, member1, member2)

Java代码范例:

SetOperations setOperations = redisTemplate.opsForSet();  // 获取操作 set 的对象
setOperations.add("set1", "a", "b", "c", "d");  			// SADD key member1 [member2]
setOperations.add("set2", "a", "b", "x", "y");Set set1Members = setOperations.members("set1");  	// SMEMBERS key
System.out.println(set1Members);Long set1Size = setOperations.size("set1"); 	 		// SCARD key
System.out.println(set1Size);Set intersect = setOperations.intersect("set1", "set2");  	// SINTER key1 key2 [key3]
System.out.println(intersect);Set union = setOperations.union("set1", "set2");  		// SUNION key1 key2 [key3]
System.out.println(union);setOperations.remove("set1", "a");  					// SREM key member1 [member2]

4.6 Java操作有序集合zset

命令/说明方法
获取操作 zset 的对象opsForZSet()
向有序集合添加成员add(zsetKey, member, score)
通过索引区间返回有序集合中指定区间内的成员range(zsetKey, start, stop)
有序集合中对指定成员的分数加上增量incrementincrementScore(zsetKey, member, increment)
移除有序集合中的一个或多个成员remove(zsetKey, member1, member2)

Java代码范例:

ZSetOperations zSetOperations = redisTemplate.opsForZSet();	// 获取操作 zset 的对象
zSetOperations.add("zset1", "a", 10);  			// ZADD key score member1 
zSetOperations.add("zset1", "b", 12);
zSetOperations.add("zset1", "c", 9);Set zset1 = zSetOperations.range("zset1", 0, -1); 	// ZRANGE key start stop 
System.out.println(zset1);zSetOperations.incrementScore("zset1", "c", 10);  	// ZINCRBY key increment memberzSetOperations.remove("zset1", "a", "b");  		// ZREM key member1 [member2]

4.7 Java实现Redis常用命令

通用操作直接使用redisTemplate对象。

说明方法
查找所有符合给定模式(pattern)的keykeys(“给定的模式”)
检查给定key是否存在hasKey(key)
返回key所储存的值的类型type(key)
该命令用于在key存在时删除keydelete(key)

Java代码范例:

// 通用操作直接使用redisTemplate对象
Set keys = redisTemplate.keys("*");  // KEYS pattern
System.out.println(keys);Boolean name = redisTemplate.hasKey("name");  // EXISTS keyfor(Object key : keys){DataType type = redisTemplate.type(key);  // TYPE keySystem.out.println(type.name());
}redisTemplate.delete("mylist");  // DEL key
http://www.yayakq.cn/news/237430/

相关文章:

  • 网站建设完整方案模板制作过程
  • 手机版网站建设价格小程序推广任务
  • 晚上必看的正能量网站app购物网站建设市场调查论文
  • 做阀门的网站山东网站建设报价
  • 大连网站排名优化公司新手做电商怎么做
  • 网站定制一般价格多少成都市今天最新消息情况
  • 网站备案被注销南京建站公司网站
  • 没有网站可以做seowordpress搭建康乐
  • 滨江区建设局网站科技公司网站首页
  • 商务网站建设软件个人如何建立公司网站
  • 企业门户网站建设的意义北京市建设工程信息网招标
  • 珠海自适应网站设计做网站要什么技术
  • 合肥做个网站多少钱2023年新开市场动态
  • 谷歌浏览器下载官网湛江网站排名优化
  • 贵阳网站制作建设西安住房和城乡建设局网站
  • 宝安高端网站建设公司襄樊seo快速排名
  • 中山网站制作定制什么是电子商务模式
  • 上海网站建设哪家强云南品牌网站开发
  • 做网站怎样连数据库网络营销是干啥的
  • 百度新网站提交入口网站套餐
  • 安全的赣州网站建设做相册的网站
  • 外贸做企业什么网站提供手机自适应网站建设维护
  • php网站生成静态页面做淘宝联盟网站要多少钱?
  • 河北住房和城乡建设厅网站首页框架网站建设
  • 什么叫网络架构绍兴关键词优化报价
  • 网站开发的安全策略dede网站怎么做微信小程序
  • 营销型网站建设的要素九江做网站哪家公司好
  • 免费网站建设支持ftp自己制作一个网站
  • 网站空间ftp连接失败免费兼职一单一结
  • 网站301是什么意思成都注册公司多少钱