code: @Override
      public void storeCalendar(String name, Calendar calendar, boolean replaceExisting, boolean updateTriggers, JedisCluster jedis) throws JobPersistenceException {
          final String calendarHashKey = redisSchema.calendarHashKey(name);
          if (!replaceExisting && jedis.exists(calendarHashKey)) {
              throw new ObjectAlreadyExistsException(String.format("Calendar with key %s already exists.", calendarHashKey));
          }
          Map<String, String> calendarMap = new HashMap<>();
          calendarMap.put(CALENDAR_CLASS, calendar.getClass().getName());
          try {
              calendarMap.put(CALENDAR_JSON, mapper.writeValueAsString(calendar));
          } catch (JsonProcessingException e) {
              throw new JobPersistenceException("Unable to serialize calendar.", e);
          }
  
          jedis.hmset(calendarHashKey, calendarMap);
          jedis.sadd(redisSchema.calendarsSet(), calendarHashKey);
  
          if (updateTriggers) {
              final String calendarTriggersSetKey = redisSchema.calendarTriggersSetKey(name);
              Set<String> triggerHashKeys = jedis.smembers(calendarTriggersSetKey);
              for (String triggerHashKey : triggerHashKeys) {
                  OperableTrigger trigger = retrieveTrigger(redisSchema.triggerKey(triggerHashKey), jedis);
                  long removed = jedis.zrem(redisSchema.triggerStateKey(RedisTriggerState.WAITING), triggerHashKey);
                  trigger.updateWithNewCalendar(calendar, misfireThreshold);
                  if (removed == 1) {
                      setTriggerState(RedisTriggerState.WAITING, (double) trigger.getNextFireTime().getTime(), triggerHashKey, jedis);
                  }
              }
          }
      }
docs: Store a {@link Calendar}
  
  @param name            the name of the calendar
  @param calendar        the calendar object to be stored
  @param replaceExisting if true, any existing calendar with the same name will be overwritten
  @param updateTriggers  if true, any existing triggers associated with the calendar will be updated
  @param jedis           a thread-safe Redis connection
  @throws JobPersistenceException